/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹構築
 *	モジュール名	：FUSV0160_FUSV0160OPDBMapper
 *	ソースファイル名：FUSV0160_FUSV0160OPDBMapper.java
 *	作成者			：FJ
 *	日付			：2011年07月03日
 *＜機能概要＞
 *	BP（申込本登録）へのＤ−Ｂマッピングクラスです。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2011/07/03	FJ			新規作成
 **	v1.03.00	2011/09/27	FJ			機器提供サービス.配送区分追加
 *	v4.02.00	2012/10/05	FJ)岩元	   【IT1-2012-0001111】42Mハイブリッド申込不可障害対応
 *	v4.03.00	2012/10/15	FJ)大塚	   【IT1-2012-0001348】モバイル登録不備障害対応
 *	v4.04.00	2012/10/18	FJ)齋藤	   【IT1-2012-0001299】割賦契約登録障害対応
 *	v4.05.00	2012/10/23	FJ)齋藤	   【IT1-2012-0001250】機器提供サービス．機器付加情報コード設定値障害対応
 *	v4.06.00	2012/10/26	FJ)矢野	   【IT1-2012-0001613】支払方法クレジット名義人カナ名対応
 *	v4.07.00	2012/10/29	FJ)岩元	   【IT1-2012-0001584】ファミリーパックルーター動作不具合
 *	v4.08.00	2012/10/29	FJ)齋藤	   【IT1-2012-0001083】ガイド誌送付先住所NULL対応、ガイド誌送付先個別指定フラグマッピング値変更対応
 *	v4.09.00	2012/11/01	FJ)矢野	   【IT2-2012-0001619】番ポ障害対応
 *	v4.10.00	2012/11/02	FJ)大塚	   【IT1-2012-0001766】WEB割キャンペーン削除対応
 *	v4.11.00	2012/11/02	FJ)山下	   【IT1-2012-0001783】モデル整合性対応【機器設置先カナ名】
 *	v4.12.00	2012/11/05	FJ)齋藤	   【IT1-2012-0001784】モデル整合性対応【機器設置先名】
 *	v4.13.00	2012/11/08	FJ)大塚	   【ST1-2012-0001786】他チーム障害関連対応
 *	v4.14.00	2012/11/09	FJ)大塚	   【IT1-2012-0001699】モデル整合性対応【機器引当指定倉庫棚コード】
 *  v4.15.00    2012/11/13  FJ)岩元	   【IT2-2012-0001695】WiFi即時開通対応
 *  v4.16.00    2012/11/15  FJ)齋藤	   【ANK-1224-00-00】サービス別宅内機器型式候補の変更対応
 *	v4.17.00    2012/11/20  FJ)大串	   【TAI-2012-0000136】個人法人電話番号帯コードの登録対応
 *	v4.18.00	2012/11/23	FJ)齋藤	   【IT2-2012-0001783】番ポ情報更新障害対応
 *	v4.19.00	2012/11/28	FJ)大村	   【IT2-2012-0001829】オプションサービス契約への割込電話対応
 *	v4.20.00	2012/11/28	FJ)齋藤	   【IT2-2012-0001841】追加申込時課金先登録障害
 *  v4.21.00	2012/11/30	FJ)岩元	   【ST1-2012-0000961】指示書・通知書対応
 *  v4.22.00	2012/12/03	FJ)楠本	   サービス契約支払い方法継続変更マッピングでモバイルにハイブリッドを含める
 *  v4.23.00	2012/12/03	FJ)大村	   「IT2-2012-0001959」対応（サブオプション）
 *  v4.24.00	2012/12/28	FJ)岩元	   【TAI-2012-0000136】ハイブリッド抜け落ち対応
 *  v4.25.00    2013/01/07  FJ)齋藤    【障害対応:No.31】機器提供サービス契約.宅内機器型式コード登録障害対応
 *  v4.26.00	2013/01/23	FJ)岩元	   【障害対応 No.78】追加申込時のセット割対応
 *  v4.27.00	2013/01/28	FJ)矢野	   【ST2-2013-0000341】スマリン登録時に割賦契約の端末購入通知書出力識別コードに1を入れる対応
 *  v4.28.00	2013/01/28	FJ)藤原	   【ST3-2013-0000330】申込支援入力ワーク・追加元サービス契約番号変更対応
 *  v4.29.00    2013/01/29  FJ)大塚     データ検証対応
 *	v4.30.00	2013/02/14	FJ)齋藤	   【KT1-2013-0000162】出荷指図時の付加情報の設定不備
 *	v4.31.00	2013/02/15	FJ)大塚	   【障害対応 No244】 ハイブリッド引継ぎ対応
 *	v4.32.00	2013/02/23	FJ)玉井	   【ANK-1399-00-00】フロントＳ文言確認修正対応
 *	v4.33.00	2013/02/23	FJ)藤田	   【ANK-1461-00-00】 番ポ申込他の各機能における機種依存文字の取り扱い対応
 *	v4.34.00	2013/02/25	FJ)藤原    【IT2-2013-0000217】eo光無線ルーター(100M) 定額プラン削除対応
 *	v4.35.00	2013/02/28	FJ)大塚    【ST1-2013-0000253】テレビオプション対応
 *	v4.36.00	2013/03/01	FJ)大村    【ANK-1461-00-00】の不具合対応
 *  v5.00.00	2013/02/28	FJ)大村	   【ANK-1421-00-00】IP-STB
 *	v5.01.00	2013/03/12	FJ)大塚	   【ANK-1207-00-00】オーソリ対応
 *	v5.02.00	2013/03/19	FJ)楠本    【障害対応 No.532】eo光ベーシックルーター(100M) 定額プラン削除対応
 *	v5.03.00	2013/03/28	FJ)大村	    スマリ割賦プランコード・支払回数対応
 *	v5.04.00	2013/03/28	FJ)大塚    【No.544】自動適用CCモバイル単独適用対応
 *	v5.05.00	2013/03/29	FJ)大塚	   【ST1-2013-0000487】緊急通報用契約者カナ名対応
 *	v5.05.00	2013/04/05	FJ)岡井	   【内部障害】緊急通報先住所補記・建物名、緊急通報先住所補記・部屋番号対応
 *	v5.06.00    2013/04/08  FJ)大村      No.624 設定値を契約新規に合わせる
 *	v5.07.00	2013/04/09	FJ)岡井	   【内部障害】クレジットカード名義スペース対応
 *	v5.08.00	2013/05/03	FJ)大村	   【No.735】スマリ機器提供サービス契約の機器付加情報対応
 *  v5.09.00    2013/06/10  FJ)知識    【ANK-1534-00-00】eoモバイル42Mエリア縮小対応
 *  v5.10.00    2013/07/04  FJ)瀧澤    【ANK-1548-00-00】取扱コード入力時に呼び出すサービスIFを変更
 *  v5.11.00    2013/07/13  FJ)瀧澤    【IT1-2013-0001371】メール宛先修正
 *  v5.12.00    2013/07/18  FJ)瀧澤    【IT2-2013-0000641】番ポキャンセル時に緊急連絡先を引き継げない障害に対応
 *  v5.13.00    2013/09/05  FJ)文元    【OM-2013-0001702】100Mコースでかつベーシックルータ申込時、機器提供サービス契約の料金コースが1Gとなっている不備対応
 *  v5.14.00    2013/09/05  FJ)谷本    【OM-2013-0002467】電話番号マスタの通信事業者コードの設定値の修正
 *  v5.15.00    2013/11/18  FJ)文元    【ANK-1793-00-00】100Mから1Gへのベーシックルータ変更
 *  v5.16.00    2013/11/23  FJ)近藤    【OM-2013-0004567】オープン会員からマスタ会員へ昇格時のお客様・連絡先の更新対応
 *  v7.00.00    2013/21/09  FJ)川瀬    【ANK-1578-00-00】多機能ルーター(機器追加)
 *  v7.00       2014/01/27  FJ)中谷    【OM-2014-0000310】メール送信登録の別トランザクション対応
 *  v8.00       2014/03/03  FJ)文元    【ANK-1954-00-00】 【ＮＯ．１３０８】スマートリンクの新機種リリース対応
 *  v8.00       2014/04/13  FJ)文元    【ANK-1997-00-00】【ＮＯ．１３８３】商品券CPの新設(カカクコム、関電CSフォーラム)対応
 *  v9.00       2014/05/12  FJ)川瀬    【ANK-2056-00-00】【ＮＯ．９４９】光TELセレクトオプションパック
 *  v9.00       2014/05/15  FJ)川瀬    【ANK-2054-00-00】スマートリンク端末補償
 *  v10.00      2014/07/30  FJ)川瀬    【ANK-2137-00-00】提携住宅会社用WEB受付画面配置
 *  v10.00      2014/08/11  FJ）文元   【ANK-2223-00-00】スマリンタブレット無料キャンペーンのＷＥＢ画面への拡充
 *  v11.00.00   2014/10/22  FJ) 清水   【OM-2014-0003261】モバイル単独の時連絡先スキーマがある場合、連絡先スキーマ（メールアドレス以外）を登録しないよう修正
 *  v12.00      2014/10/14  FJ)模      【ANK-2309-00-00】 全販売チャンネル同番移転対応
 *  v15.00      2015/06/23  FJ)中西    【ANK-2535-00-00】 同番移転全チャネル販売対応（STEP2）
 *  v20.00      2015/11/20  FJ)岡井    【ANK-2565-00-00】 クレカ番号預かりサービス導入(STEP3)
 *  v29.00      2017/01/13  FJ) 張本   【IT1-2017-0000004】複数回線での電気文言表示不正
 *  v29.00.00   2017/02/15  FJ) 謝     【ANK-3112-00-00】訪販チャネルのタブレット対応
 *  v29.00      2017/02/28  FJ)岡井    【IT2-2017-0000002】「メール情報スキーマ」へデータが登録されて
 *  v29.01      2017/02/20  FJ) 張本   【ANK-3091-00-00】アンケートフォームによるガス申込対応
 *  v32.00.00   2017/04/20  FJ) 謝     【ANK-3149-00-00】新セキュリティパック導入
 *  v33.00.00   2017/08/01  FJ) 謝     【ANK-3217-00-00】GHサービス開始対応
 *  v34.00      2017/09/21  FJ) 張本   【ANK-3210-00-00】電気単独対応
 *  v35.00.00   2017/09/19  FJ) 美濃原 【ANK-3211-00-00】eo電気架電予約機能におけるCase連携の内容変更
 *  v36.00      2017/11/29  FJ)岡井    【ANK-3313-00-00】クレジットカード非通過対応
 *  v36.01      2018/02/27  FJ) 張本   【ANK-3368-00-00】4月CP切替対応
 *  v38.00      2018/06/28  FJ) 大島   【ANK-3436-00-00】eo光×eo電気×mineoセット割対応
 *  v38.00      2018/07/23  FJ) 張本   【OM-2018-0000699】標準工事費相当額キャンペーンの自動適用対応
 *  v39.00.00   2018/10/26  FJ)和田(康)【ANK-3484-00-00】端末補償サービス導入対応
 *  v40.00      2018/09/07  FJ）張本   【ANK-3412-00-00】５ギガ・１０ギガコース導入対応
 *  v39.0.0     2018/11/18  FJ) 大島   【ANK-3473-00-00】選択性CPシステム改修
 *  v39.00      2018/11/30  FJ) 岡井   【ANK-3477-00-00】eoマイページからのお客さま情報変更自動反映
 *  v40.00.00   2019/01/08  FJ) 謝     【ANK-3520-00-00】開通前の支払登録慫慂メール送信機能追加
 *  v41.00.00   2019/02/26  FJ) 松原   【ANK-3548-00-00】紹介コードの事前発番対応
 *  v42.00      2019/05/29  FJ) 大島   【ANK-3642-00-00】スマートリンクタブレット新機種追加（2019年6月〜）
 *  v47.00      2019/11/25  FJ) 美濃原 【ANK-3719-00-00】量販webへのスタッフ使用欄入力対応他
 *  v47.00      2019/12/25  FJ) 美濃原 【ANK-3751-00-00】転送電話申込時の本人確認対応
 *  v49.00      2020/06/03  FJ) 大島   【ANK-3832-00-00】202007CP対応
 *  v50.00      2020/06/12  FJ) 美濃原 【ANK-3825-00-00】メッシュWiFi導入対応
 *  v50.00.00   2020/07/24  FJ) 西川   【ANK-3754-00-00】トビラフォン対応
 *  v51.00      2020/11/12  FJ）張本   【ANK-3949-00-00】Netflix導入対応（STEP1）
 *  v52.00      2021/01/18  FJ)美濃原  【ANK-3910-00-00】定額サービスリース品追加対応
 *  v52.01      2021/01/22  FJ) 張本   【ANK-3987-00-00】Netflix導入対応（STEP2）
 *  v53.00      2021/04/14  FJ）大島   【ANK-4009-00-00】CX戦略WG方針対応
 *  v54.00      2021/08/20	FJ)新谷    【ANK-4096-00-00】宅調宅工同時実施のための聞取り強化対応
 *  v55.00      2021/10/11  FJ）西川   【ANK-4146-00-00】【eo定期】多機能ルーター枯渇対応 STEP2
 *  v57.00      2022/03/08  FJ）美濃原 【ANK-3692-00-00】量販Webガス架電予約対応
 *  v58.00.00   2022/05/12	FJ) 新谷   【ANK-3846-00-00】【クレカ】クリアパス→ペイジェント移行
 *  v60.00      2022/09/01  FJ) 西川   【ANK-4319-00-00】202210月CP対応
 *  v61.00      2023/04/03  FJ) 張本   【ANK-4315-00-00】【eo定期】eo光ホームゲートウェイ導入対応
 *  v70.00      2024/02/05  FJ) 美濃原 【ANK-4551-00-00】202404CP対応
 *  v72.00      2024/05/08  FJ) 美濃原 【ANK-4494-00-00】【eo定期】双方向番ポ対応
 *  v73.00.00   2024/10/21  FJ）浅井   【ANK-4427-00-00】NTT卸対応
 *  v73.00      2024/11/15  FJ) 張本   【ANK-4493-00-00】【eo定期】光配線マンションのコースアップ対応
 *  v74.00      2025/01/15  FJ) 余野木 【ANK-4592-00-00】テレビ新コース（スカパー用）導入対応
 *  v72.01      2024/10/31  FJ) 飯田   【ANK-4598-00-00】量販・訪販WebのeoID取得方法変更
 *  v75.0.0     2025/04/14  FJ) 浅井   【ANK-4640-00-00】typeN：追加要件対応
**********************************************************************/
package eo.web.webview.mapping;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

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.common.util.JPCEditString;
import eo.common.util.JPCUtilCommon;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.FUW00116SF.FUW00116SFConst;
import eo.web.webview.FUW00943SF.FUW00943SFConst;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.common.JFUGetElecTaioKirok;
import eo.web.webview.common.JFUMskmFinMail;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUTabletInfoUtil;
import eo.web.webview.common.JFUWebCommon;

/**
 * DataBean-BPマッピングをする。
 * 
 * <br>
 *
 * @author 富士通
 */
public class FUSV0160_FUSV0160OPDBMapper
{

	/** 機器引当指定倉庫コード（みなと倉庫） */
	private static final String KIKI_SOUKO_MINATO = "000001";
	/* 2013/02/14 KT1-2013-0000162 Y.Saitou DEL */

	/** 選択（1） */
	private static final String SENTAKU = "1";
	/** 全角スペース */
	private static final String ZENKAKU_SPACE = "　";
	/** 番ポキャンセルフラグ */
	private static final String bmpCancelFlg = "1";
	/** 番ポ利用有無フラグ 利用しない*/
	private static final String bmpUm_0 = "0";
	/** アンケートリスト */
	private static final String ENQUETE_LIST = "アンケートリスト";
	/** アンケートチェック種別 */
	private static final String ENQUETE_CHK_SBT_02 = "アンケートチェック種別";
	/** アンケート回答リスト */
	private static final String ENQUETE_ANSWER_LIST = "アンケート回答リスト";
	/** チェックボックス入力可否 */
	private static final String CHKBOX_CHECKED_06 = "チェックボックス入力可否";
	/** ラジオボタン選択値 */
	private static final String RADIO_VALUE_02 = "ラジオボタン選択値";
	/** アンケートフリー入力欄 */
	private static final String ENQUETE_FREE_IPTFIELD_06 = "アンケートフリー入力欄";
	/** アンケートコード */
	private static final String ENQUETE_CD_06 = "アンケートコード";
	/** アンケート番号 */
	private static final String ENQUETE_CONTENT_NO_02 = "アンケート番号";
	/** ホームタイプ */
	public static final String homeType = "HT";
	/** メゾンタイプ */
	public static final String maisonType = "MZ";
	/** マンションタイプ */
	public static final String mansionType = "MT";
	/** 電話 */
	public static final String telNm = "電話";
	/** テレビ */
	public static final String tvNm = "テレビ";
	/** モバイル */
	public static final String mobileNm = "モバイル";
	/** 申込受付 */
	public static final String mskmuke = "申込受付";
	/** ＋ */
	public static final String plus = "＋";
	/** カテゴリー名　インフォメーションデスク */
	public static final String ctgrNm1 = "インフォメーションデスク";
	/** カテゴリー名　きっかけ（未加入者） */
	public static final String ctgrNm2 = "きっかけ（未加入者）";

	/** コード種別 割引サービスコード ファミリーパック */
	private static final String CD00138_W00000006 = "W00000006";

	/** コード種別 割引サービス対象サービスコード ファミリーパック */

	private static final String CD00139_WT0000000006 = "WT0000000006";

	/** PASCO情報共通 なし*/
	private static final String PASCO_NOT = "0";
	/** PASCO情報共通 あり*/
	private static final String PASCO_YES = "1";

	/** PASCO情報 100M申込可能*/
	private static final String PASCO_NET_DETAIL_100M = "1";
	/** PASCO情報 10G申込可能 */
	private static final String PASCO_NET_DETAIL_10G = "4";
	/** PASCO情報 1G申込可能 */
	private static final String PASCO_NET_DETAIL_1G = "3";
	/** PASCO情報 K-CAT */
	private static final String PASCO_TV_DETAIL_K_CAT = "1";
	/** PASCO情報 K-CAT+KCN */
	private static final String PASCO_TV_DETAIL_KCN = "2";

	// No244 Otsuka 2013/02/15 start
	/** 同一請求先の最大件数 */
	private static final String MAX_SAME_SEIKYUSAKI_CNT = "MAX_SAME_SEIKYUSAKI_CNT";

	// No244 Otsuka 2013/02/15 end

	// No.624 申込画面入力支援ワークの申込優先連絡先識別コード設定値対応 >>>
	/** 契約者と同じ */
	private static final String MKM_YUSEN_RRKS_SKBT_CD_KEIYAKUJUSHO = "1";
	/** ご利用場所と同じ */
	private static final String MKM_YUSEN_RRKS_SKBT_CD_RIYOBASHO = "2";
	/** その他 */
	private static final String MKM_YUSEN_RRKS_SKBT_CD_ELSE = "3";
	// No.624 申込画面入力支援ワークの申込優先連絡先識別コード設定値対応 <<<E

	/** APLConst.propertiesのキー クリアパス */
	private static final String FU_CR_CPID = "FU_CR_CPID";

	/** APLConst.propertiesのキー クリアパス */
	private static final String FU_CR_PASSWD = "FU_CR_PASSWD";

	/** 機能コード */
	private static final String FUNC_CODE = "func_code";

	// No544 2013/03/28 Otsuka start
	/** サービス契約グループリスト */
	private static final String SVC_KEI_GRP_LIST = "svc_kei_grp_list";
	/** グループ区分 */
	private static final String GRP_DIV = "grp_div";
	/** 異動区分 */
	private static final String IDO_DIV = "ido_div";
	/** 申込種別コード */
	private static final String MSKM_SBT_CD = "mskm_sbt_cd";
	/** 登録／変更区分 */
	private static final String ADD_CHGE_DIV = "add_chge_div";
	/** SYSID */
	private static final String SYSID = "sysid";
	/** 申込番号 */
	private static final String MSKM_NO = "mskm_no";

	// No544 2013/03/28 Otsuka end

// OM-2018-0000699 ADD START
	/** 工事費割賦操作ステータス */
	private static final String KOJIHI_KAP_OPERATE_STAT = "kojihi_kap_operate_stat";

	/** 工事費割賦操作ステータス 登録・変更・削除 */
	private static final String KOJIHI_KAP_OPERATE_STAT_1 = "1";
// OM-2018-0000699 ADD END

	/** データ抽出項目設定完了 */
	private static final String EKK1391C040 = "EKK1391C040";
	/** データ抽出項目設定番号 */
	private static final String DCHSKMST_NO = "dchskmst_no";
	/** データ抽出項目設定完了種別コード */
	private static final String DCHSKMST_FIN_SBT_CD = "dchskmst_fin_sbt_cd";
	/** データ抽出項目設定完了契機コード */
	private static final String DCHSKMST_FIN_OPTY_CD = "dchskmst_fin_opty_cd";
	/** 申込明細番号 */
	private static final String MSKM_DTL_NO = "mskm_dtl_no";
	/** 割引サービスコード */
	private static final String ADDWRIBSVCCD = "addWribSvcCd";
	/** 割引サービスリスト名 */
	private static final String ADDWRIBSVCLIST = "AddWribSvcCdList";
	/** 割引サービス登録マップ */
	private static final String JFUADDWRIBSVCCCMAP = "JFUAddWribSvcCdCC";
	/** 即時適用フラグ */
	private static final String APLY_JUN = "aply_jun";
	/** 割引登録契機コード */
	private static final String WRIB_ADD_OPTY_CD = "wrib_add_opty_cd";
	/** 最大検索件数 */
	private static final String MAX_SEARCH_NUM = "max_search_num";
	/** サービス契約番号 */
	private static final String SVC_KEI_NO = "svc_kei_no";
	/** データ抽出項目コード */
	private static final String ADDDCHSKMCD = "addDchskmCd";
	/** データ抽出項目設定登録契機コード */
	private static final String DCHSKMST_ADD_OPTY_CD = "dchskmst_add_opty_cd";
	/** 実行種別 */
	private static final String MDL_EXEC_KIND = "mdl_exec_kind";
	/** 実行種別 "1":自動登録用 */
	private static final String MDL_EXEC_KIND_AUTO = "1";

	/** データ抽出項目コードリスト名 */
	private static final String AddDchskmCdList = "AddDchskmCdList";
	/** データ抽出項目登録マップ名 */
	private static final String JFUAddDchskmCdCCMap = "JFUAddDchskmCdCC";
	/** 適用期間チェック有無 */
	private static final String CHK_TERM = "chk_term";
	/** チェック用料金グループコード */
	private static final String CHK_PRC_GRP_CD = "chk_prc_grp_cd";
	/** チェック用料金コースコード */
	private static final String CHK_PCRS_CD = "chk_pcrs_cd";
	/** チェック用料金プランコード */
	private static final String CHK_PPLAN_CD = "chk_pplan_cd";

	/** IN項目：ファミリーパック申込有無 */
	private static final String IN_FAMIPA_MSKM_UM = "in_famipa_mskm_um";
	/** IN項目：サービス契約番号(電話) */
	private static final String IN_SVC_KEI_NO_TEL = "in_svc_kei_no_tel";
	/** IN項目：異動区分 */
	private static final String IN_IDO_DIV = "in_ido_div";
	/** IN項目：選択中サービス(電話) */
	private static final String IN_SELECT_SVC_TEL = "in_select_svc_tel";
	/** IN項目：SYSID */
	private static final String IN_SYSID = "in_sysid";
	/** IN項目：請求契約番号 */
	private static final String IN_SEIKY_KEI_NO = "in_seiky_kei_no";
	/** IN項目：申込明細番号 */
	private static final String IN_MSKM_DTL_NO = "in_mskm_dtl_no";
	/** IN項目：サービス契約回線内訳番号 */
	private static final String IN_SVC_KEI_KAISEN_UW_NO = "in_svc_kei_kaisen_uw_no";
	/** IN項目：更新年月日時分秒(更新前) テレビ */
	private static final String IN_TV_UPD_DTM_BF = "in_tv_upd_dtm_bf";
	/** IN項目:サービス契約番号(テレビ)  */
	private static final String IN_SVC_KEI_NO_TV = "in_svc_kei_no_tv";
	
	/** サービス契約番号(一意検索用) */
	private static final String SVC_KEI_NO_UNQ = "svc_kei_no_unq";
	/** 定義取得パス  */
	private static final String PATH_WKKBT_ORG_CD = "DISPSETTING/SETTING[@screenId='FUW00932']/DISPCTL[@groupid='WKKBT_ORG_CD']";

	/** eoメッシュWi-Fi 最小機器提供サービス数 */
	private static final String MESH_WIFI_MIN_KKTK_SVC_CNT = "MESH_WIFI_MIN_KKTK_SVC_CNT";
	/** eoメッシュWi-Fi 宅内機器型式コード */
	private static final String MESH_WIFI_MODEL_NO = "MESH_WIFI_MODEL_NO";
	/** 登録台数：2台 */
	private static final String DAISU_2 = "2";

	/** 番ポ電話番号登録可否チェック用 */
	/** 電話番号 */
	private static final String KEY_TEL_NO1 = "key_telno1";
	private static final String KEY_TEL_NO2 = "key_telno2";
	/** 郵便番号（前） */
	private static final String KEY_PDC_BF = "key_pcd_bf";
	/** 郵便番号（後） */
	private static final String KEY_PDC_AF = "key_pcd_af";
	/** 例外入力 */
	private static final String KEY_EXCEPTION_INPUT = "key_exception_input";
	/** 同一住所フラグ */
	private static final String SAME_AD_FLG = "same_ad_flg";
	/** 住所コード一覧最大検索件数 */
	private static final String AD_CD_LIST_MAX_SEARCH_NUM = "ad_cd_list_max_search_num";

	/** マップキー 移送先名取得 */
	private static final String KEY_TRAN_NAME = "tranNm";
	/** マップキー キーカウント */
	private static final String KEY_KEY_CNT = "key_cnt";
	/** マップキー キーカウント */
	private static final String RPG_KEY_CNT_4 = "4";

	/** 同番移転チェックCC */
	private static final String CC_TITLE_JKK_CHK_DOBANITEN_PSB_AREA = "JKKChkDobanitenPsbAreaCC";
	/** 住所情報分割CC(利用場所住所) */
	private static final String CC_TITLE_FUSV016006 = "FUSV016006CC";
	/** サービスIF結果データ移送CC */
	private static final String CC_TITLE_JFU_TRANSFER = "JFUTransferCC";

	/** 移送用キー1 */
	private static final String TRANS_KEY_1 = "key_1";
	/** 移送用キー1 */
	private static final String TRANS_KEY_2 = "key_2";
	/** 移送用キー1 */
	private static final String TRANS_KEY_3 = "key_3";
	/** 移送用キー1 */
	private static final String TRANS_KEY_4 = "key_4";

	/** 都道府県 */
	private static final String TRANS_KEY_1_VALUE_1 = CC_TITLE_FUSV016006 + "::state_nm,::key_state_nm";
	/** 市区町村 */
	private static final String TRANS_KEY_1_VALUE_2 = CC_TITLE_FUSV016006 + "::city_nm,::key_city_nm";
	/** 大字通称名 */
	private static final String TRANS_KEY_1_VALUE_3 = CC_TITLE_FUSV016006 + "::oaztsu_nm,::key_oaztsu_nm";
	/** 字丁目名 */
	private static final String TRANS_KEY_1_VALUE_4 = CC_TITLE_FUSV016006 + "::azcho_nm,::key_azcho_nm";

	/** MAPキー 申込区分 */
	private static final String MAP_MSKM_KBN = "mskm_kbn";

	// 「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.10 FJ)中西 start
	/** 請求口座追加CC */
	private static final String CC_TITLE_JFU_ADD_SEIKY_KOZA_CC = "JFUAddSeikyKozaCC";
	/** 支払方法コード */
	private static final String PAYWAY_CD = "payway_cd";
	/** 支払方法コード */
	private static final String SEIKY_WAY_CD = "seiky_way_cd";
    /** 金融機関コード */
    private static final String BANK_CD = "bank_cd" ;
    /** 金融機関支店コード */
    private static final String BANK_SHITEN_CD = "bank_shiten_cd" ;
    /** 預金種目コード */
    private static final String YOKIN_SHUMOKU_CD = "yokin_shumoku_cd" ;
    /** 口座番号 */
    private static final String KOZA_NO = "koza_no" ;
    /** 口座名義人カナ名 */
    private static final String KOZA_MEIGIN_KANA = "koza_meigin_kana" ;
    /** 通帳記号 */
    private static final String TSUCHO_SYMBOL = "tsucho_symbol" ;
    /** 通帳番号 */
    private static final String TSUCHO_NO = "tsucho_no" ;
    /** 金融機関コード：ゆうちょ銀行 */
    private static final String BANK_CD_POSTAL = "9900" ;
    /** 審査与信結果コード */
    private static final String PAYWAY_PAY_SKEKKA_CD = "payway_pay_skekka_cd" ;
	/** 請求契約番 */
	private static final String SEIKY_KEI_NO = "seiky_kei_no";
    
	//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.10 FJ)中西 end

	// JFUWribSvcCancelCC
	/** IN項目ID：割引サービスコード(カンマ区切り) */
	private static final String IN_CANCEL_WRIB_SVC_CD = "cancel_wrib_svc_cd";
	/** IN項目ID：タブレット申込有無 */
	private static final String IN_SMLN_TABLET_MSKM_UM = "smln_tablet_mskm_um";
	/** プロパティからの取得キー(その他キャンペーンのスマートリンクに関するコード) */
	private static final String KEY_OTHER_CMP_CD_SMART_LINK = "OTHER_CMP_CD_SMART_LINK";
	/** プロパティからの取得キー(その他キャンペーンのGoogleHomeに関するコード) */
	private static final String KEY_OTHER_CMP_CD_GH = "OTHER_CMP_CD_GH";
	/** 割引サービスキャンセルCC */
	private static final String CC_TITLE_JFU_WRIB_SVC_CANCEL_CC = "JFUWribSvcCancelCC";
	/** 割引サービスキャンセルCC */
	private static final String CC_TITLE_JFU_WRIB_SVC_CANCEL2_CC = "JFUWribSvcCancel2CC";

	// 【ANK-2535-00-00】 同番移転全チャネル販売対応（STEP2）add start
	/** NTT契約者名＿契約者名差異フラグ：0 */
	private static final String NTT_KEINM_KEISHA_SAI_FLG_0 = "0";
	/** NTT契約者名＿契約者名差異フラグ：1 */
	private static final String NTT_KEINM_KEISHA_SAI_FLG_1 = "1";
	// 【ANK-2535-00-00】 同番移転全チャネル販売対応（STEP2）add end

	/** eo電気案内希望（eo電気見込み客）*/
	public static final String ELEC_TR = "ELEC_TR";
	/** 問合せ客タイプ名  */
	public static final String ELEC_TR_PROSCST_TYPE_NM = "proscst_type_nm";
	/** 問合せ状態名 */
	public static final String ELEC_TR_TOIAWASE_STAT_NM = "toiawase_stat_nm";
	/** 対応記録ステータス名 */
	public static final String ELEC_TR_TAIOKRK_STAT_NM = "taiokrk_stat_nm";
	/** 受付者 */
	public static final String ELEC_TR_UKETSUKESYA = "uketsukesya";
	/** 担当者 */
	public static final String ELEC_TR_TNTSHA = "tntsha";
	/** キューBOX名 */
	public static final String ELEC_TR_QUE_BOX_NM = "que_box_nm";
	/** 問合せ受付種別名 */
	public static final String ELEC_TR_TOIAWASE_UK_SBT_NM = "toiawase_uk_sbt_nm";
	/** タイトル */
	public static final String ELEC_TR_TITLE = "title";
	/** eo電気案内希望（eo電気見込み客）*/
	public static final String ELEC_TR_TAIO_KIROK_RIREKI = "taio_kirok_rireki";
	/** タイトル 【関電ガスｅｏ割（架電希望）】 */
	public static final String ELEC_TR_GAS_TITLE = "gas_title";
	/** eo電気案内希望（eo電気見込み客） 【関電ガスｅｏ割（架電希望）】 */
	public static final String ELEC_TR_GAS_TAIO_KIROK_RIREKI = "gas_taio_kirok_rireki";
	/** eo電気案内希望（eo電気見込み客）*/
	public static final String ELEC_TR_MSKM_UK_DTM = "mskm_uk_dtm";
	/** eo電気案内希望（eo電気見込み客）*/
	public static final String ELEC_TR_CSFL_SBT_CD = "csfl_sbt_cd";
	/** CASEファイル作成済フラグ  */
	private static final String ELEC_TR_CSFL_SKSI_ZM_FLG = "csfl_sksi_zm_flg";
// ANK-3112-00-00 ADD START
	/** 申込断面コメント編集用 区切り */
	private static final String MDC_KUGIRI= "------------------------------------------------------------";
	/** 申込断面コメント編集用 作 成 者： */
	private static final String MDC_SKSSHA = "作 成 者：";
	/** 申込断面コメント編集用 コメント： */
	private static final String MDC_COMMENT = "コメント：";
	/** 申込断面コメント編集用 連絡事項１ */
	private static final String MDC_RRK_JIKO_1 = "【早期開通・早期連絡希望有無】";
	/** 申込断面コメント編集用 連絡事項２ */
	private static final String MDC_RRK_JIKO_2 = "【架電希望時間指定】";
	/** 申込断面コメント編集用 連絡事項３ */
	private static final String MDC_RRK_JIKO_3 = "【民地代行取得希望有無】";
	/** 申込断面コメント編集用 連絡事項４ */
	private static final String MDC_RRK_JIKO_4 = "【工事承諾書取得希望有無】";
	/** 申込断面コメント編集用 連絡事項５ */
	private static final String MDC_RRK_JIKO_5 = "【優先連絡先の続柄】";
	/** 申込断面コメント編集用 連絡事項６ */
	private static final String MDC_RRK_JIKO_6 = "【既存契約状況】";
	/** 申込断面コメント編集用 連絡事項７ */
	private static final String MDC_RRK_JIKO_7 = "【フリーコメント】";
	/** 申込断面コメント編集用 連絡事項８ */
	private static final String MDC_RRK_JIKO_8 = "【入居予定日】";
	/** 申込断面コメント編集用 連絡事項９ */
	private static final String MDC_RRK_JIKO_9 = "【適用コード】";
	/** 申込断面コメント編集用 希望する */
	private static final String MDC_KIBO = "希望する";
	/** 申込断面コメント編集用 平日 */
	private static final String MDC_HEIJITU = "平日";
	/** 申込断面コメント編集用 土日 */
	private static final String MDC_DONICHI = "土日";
	/** 申込断面コメント編集用 AM */
	private static final String MDC_AM = "AM";
	/** 申込断面コメント編集用 PM */
	private static final String MDC_PM = "PM";
	/** 申込断面コメント編集用 同建物内別用途 */
	private static final String MDC_BETUYOTO = "同建物内別用途";
	/** 申込断面コメント編集用 同敷地内別棟 */
	private static final String MDC_BETUTOU = "同敷地内別棟";
	/** 申込断面コメント編集用 別住所 */
	private static final String MDC_BETUAD = "別住所";
	/** 申込断面コメント編集用 年 */
	private static final String MDC_YEAR = "年";
	/** 申込断面コメント編集用 月 */
	private static final String MDC_MONTH = "月";
	/** 申込断面コメント編集用 日 */
	private static final String MDC_DAY = "日";
	/** サービス用 連絡事項２（曜日）（平日） */
	private static final String RRK_JIKO_2_DOW_HEIJITU = "1";
	/** サービス用 連絡事項２（曜日）（土日） */
	private static final String RRK_JIKO_2_DOW_DONICHI = "2";
	/** サービス用 連絡事項２（時間）（AM） */
	private static final String RRK_JIKO_2_KBTMZ_AM = "1";
	/** サービス用 連絡事項２（時間）PM） */
	private static final String RRK_JIKO_2_KBTMZ_PM = "2";
	/** サービス用 連絡事項６（同建物内別用途） */
	private static final String RRK_JIKO_6_BETUYOTO = "1";
	/** サービス用 連絡事項６（同敷地内別棟） */
	private static final String RRK_JIKO_6_BETUTOU = "2";
	/** サービス用 連絡事項６（別住所） */
	private static final String RRK_JIKO_6_BETUAD = "3";
// ANK-3112-00-00 ADD END

// ANK-3149-00-00 ADD START
	/** 引継有無 無 */
	private static final String HIKITUGI_UM_NON = "0";
	
	/** 対象フラグ 無 */
	private static final String TG_FLG_NON = "0";
	
	/** 対象フラグ 有 */
	private static final String TG_FLG_ARI = "1";
// ANK-3149-00-00 ADD END

// ANK-3436-00-00 ADD START
	/** mineoセット割適用可否照会・変更依頼CC */
	private static final String JFUMINEO_SETPLANR_ENKEI_CC = "JFUMineoSetPlanRenkeiCC";
	/** 更新区分 */
	private static final String KSN_KBN = "1";
	/** 処理区分 */
	private static final String PROCESSING_TYPE = "1";

	/** ＫＥＹ＿更新区分 */
	private static final String KEY_KSN_KBN = "key_ksnKbn";
	/** ＫＥＹ＿リクエストID */
	private static final String KEY_REQUEST_ID = "key_requestID";
	/** ＫＥＹ＿運用日時 */
	private static final String KEY_OPERATE_DATETIME = "key_operateDateTime";
	/** ＫＥＹ＿処理区分 */
	private static final String KEY_PROCESSING_TYPE = "key_processingType";
	/** ＫＥＹ＿キャンペーンコード */
	private static final String KEY_DISCOUT_CODE = "key_discoutCode";
	/** ＫＥＹ＿サービス契約番号 */
	private static final String KEY_SERIVCE_NUM = "key_serivceNum";
	/** ＫＥＹ＿SYSID */
	private static final String KEY_SYSID = "key_sysid";
	/** ＫＥＹ＿請求先番号 */
	private static final String KEY_INVOICE_NUM = "key_invoiceNum";
	/** ＫＥＹ＿契約者住所コード */
	private static final String KEY_CONTRACTOR_ADDRESS_CODE = "key_contractorAddressCode";
	/** ＫＥＹ＿サービス */
	private static final String KEY_SERVICE = "key_service";
	/** ＫＥＹ＿料金グループ */
	private static final String KEY_FEE_GROUP = "key_feeGroup";
	/** ＫＥＹ＿料金コース */
	private static final String KEY_FEE_COURCE = "key_feeCource";
	/** ＫＥＹ＿料金プラン */
	private static final String KEY_FEE_PLAN = "key_feePlan";
	/** ＫＥＹ＿契約形態コード */
	private static final String KEY_CONTRACT_FORM = "key_contractForm";
	/** ＫＥＹ＿申込日 */
	private static final String KEY_SUBSCRIPTION_DATE = "key_subscriptionDate";
	/** ＫＥＹ＿照査日 */
	private static final String KEY_INSPECTION_DATE = "key_inspectionDate";
	/** ＫＥＹ＿受付番号 */
	private static final String KEY_ACCEPTANCE_NUM = "key_acceptanceNum";
	/** ＫＥＹ＿契約状態 */
	private static final String KEY_CONTRACT_CONDITION = "key_contractCondition";
	/** ＫＥＹ＿利用場所住所コード */
	private static final String KEY_USINGPLACE_ADDRESS_CODE = "key_usingPlaceAddressCode";
	/** ＫＥＹ＿回線内訳番号 */
	private static final String KEY_LINE_NUM = "key_lineNum";
	/** ＫＥＹ＿入力mineo受付番号・電話番号 */
	private static final String KEY_INPUT_MINE_NUM = "key_inputMineNum";
	/** ＫＥＹ＿入力解除メール通知有無1 */
	private static final String KEY_KEI_1_MAIL_SEND_FLAG = "key_kei_1_mail_send_flag";
	/** ＫＥＹ＿入力解除メール通知有無2 */
	private static final String KEY_KEI_2_MAIL_SEND_FLAG = "key_kei_2_mail_send_flag";
// ANK-3436-00-00 ADD END

	// ANK-3484-00-00 2018/10/02 ADD START
	/** 処理区分 登録 **/
	private static final String SHORI_DIV_2 = "2";
	
	/** 処理区分 **/
	private static final String SHORI_DIV = "shori_div";
	/** 申込年月日 **/
	private static final String MKSM_YMD = "mksm_ymd";
	/** ＰＣプラン対象フラグ **/
	private static final String PC_PLAN_TG_FLG = "pc_plan_tg_flg";
	/** ＰＣプラン申込日 **/
	private static final String PC_PLAN_MKSM_YMD = "pc_plan_mksm_ymd";
	/** ＰＣワイドプラン対象フラグ **/
	private static final String PC_WIDE_PLAN_TG_FLG = "pc_wide_plan_tg_flg";
	/** ＰＣワイドプラン申込日 **/
	private static final String PC_WIDE_PLAN_MKSM_YMD = "pc_wide_plan_mksm_ymd";
	/** ＴＶプラン対象フラグ **/
	private static final String TV_PLAN_TG_FLG = "tv_plan_tg_flg";
	/** ＴＶプラン申込日 **/
	private static final String TV_PLAN_MKSM_YMD = "tv_plan_mksm_ymd";
	/** ｅｏ光ネット　端末補償 申し込む */
	private static final String PLAN_MSKM = "1";
	/** ｅｏ光ネット　端末補償 申し込まない */
	private static final String PLAN_NOT_MSKM = "0";
	// ANK-3484-00-00 2018/10/02 ADD END
// ANK-3473-00-00 ADD START
	/** JFUGetCampaignListCC */
	private static final String JFUGETCAMPAIGNLISTCC = "JFUGetCampaignListCC";
	/** キャンペーンコード */
	private static final String IN_CAMPAIGN_CD = "campaign_cd";
	/** キャンペーン種別コード 1:商品券 2:割引サービス */
	private static final String IN_CAMPAIGN_SBTCD = "campaign_sbt_cd";
	/** 更新年月日時分秒 */
	private static final String UPD_DTM = "upd_dtm";
// ANK-3473-00-00 ADD END

	// 申込明細内容変更 setJFUMskmDtlUpdCC
	/** IN項目:申込書番号 */
	private static final String IN_MSKMSHO_NO = "in_mskmsho_no";
	/** IN項目:本人確認書類種別コード */
	private static final String IN_HNIN_CFM_ATICLE_SBT_CD = "in_hnin_cfm_aticle_sbt_cd";
	/** IN項目:本人確認書類名 */
	private static final String IN_HNIN_CFM_ATICLE_NM = "in_hnin_cfm_aticle_nm";
	/** IN項目:早期開通早期連絡希望有無 */
	private static final String IN_TSYRN_EARLY_OPEN_EARLY_RRK_KBUM_SCREEN = "in_tsyrn_early_open_early_rrk_kbum_screen";
	/** IN項目:電子交付同意有無 */
	private static final String IN_DNSKH_DOI_UM = "in_dnskh_doi_um";

	/** 連携用文言マップ */
	private static final String WORK_STRCONST_MAP = "WORK_STRCONST_MAP";
	/** eo光ネットオプション[申込断面明細]：通信機器レンタルサービス */
	private static final String NET_OP_KKTKSVC_DMEN_MNGN = "NET_OP_KKTKSVC_DMEN_MNGN";

	// ペイジェントへの送信パラメータのプロパティファイルキー
	private static final String PAYGENT_MERCHANT_ID = "PAYGENT_MERCHANT_ID";
	private static final String PAYGENT_CONNECT_ID = "PAYGENT_CONNECT_ID";
	private static final String PAYGENT_CONNECT_PASSWORD = "PAYGENT_CONNECT_PASSWORD";
	private static final String PAYGENT_TELEGRAM_VERSION = "PAYGENT_TELEGRAM_VERSION";

// ANK-4427-00-00 ADD START
	/** 処理区分:"1"（登録モード） */
	private static final String SHORI_DIV_1 = "1";
	/** 番ポ種別:"0"（新番号取得） */
	private static final String BMP_SBT_0 = "0";
	/** 番ポ種別:"1"（NTTの固定電話で利用している電話番号） */
	private static final String BMP_SBT_1 = "1";
	/** 番ポ種別:"2"（他社電話サービスで利用している電話番号） */
	private static final String BMP_SBT_2 = "2";
	/** 電話番号種別:"1"（契約申込者と同じ） */
	private static final String TELNO_SBT_1 = "1";
	/** 電話番号種別:"2"（ご利用場所と同じ） */
	private static final String TELNO_SBT_2 = "2";
	/** 電話番号種別:"3"（その他指定） */
	private static final String TELNO_SBT_3 = "3";
// ANK-4427-00-00 ADD END

	/**
	 * コンストラクタ
	 */
	public FUSV0160_FUSV0160OPDBMapper()
	{
	}

	/**
	 * 上りマッピングをする（仮申込フラグ変更）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0011C050(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約サービス情報
		X31SDataBeanAccess contract_infobean = getKeiyakusvcinfo(web_new_infobean);
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// 契約サービス情報.申込番号 → 仮申込フラグ変更マップ.申込番号
		parentMap.put("mskm_no", contract_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

		//2012/04/24 
		// 固定" "（空） → 仮申込フラグ変更マップ.仮申込フラグ
		parentMap.put("kari_mskm_flg", JFUStrConst.EMPTY);

		// 契約サービス情報.更新年月日字分秒（更新前） → 仮申込フラグ変更マップ.更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", contract_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_MSKM_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0011C050", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（申込内容承認）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0011C110(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約サービス情報
		X31SDataBeanAccess contract_infobean = getKeiyakusvcinfo(web_new_infobean);
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// 契約サービス情報.申込番号 → 申込内容承認マップ.申込番号
		parentMap.put("mskm_no", contract_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約サービス情報.コンシューマ営業用申込状態識別コード  → 申込内容承認マップ.コンシューマ営業用申込状態識別コード 
		parentMap.put("consmbsn_mskm_stat_skbt_cd", JFUStrConst.CD00760_04);
		// 契約サービス情報.更新年月日字分秒（更新前） → 申込内容承認マップ.更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", contract_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_MSKM_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0011C110", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス契約登録の上りマッピングをする（ｅｏ光ネットオプション登録ＣＣ）
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 * @exception Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		return this.setEKK0341D010(bean, outputMap, func_code, "");
	}
	
	/**
	 * 機器提供サービス契約登録の上りマッピングをする（ｅｏ光ネットオプション登録ＣＣ）
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 * @exception Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String taknkikiModel) throws Exception
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		/*
		 * ■判定条件■ 無線ルータ/ベーシックルータのいずれか PLCアダプタ(2件作る) 計 最大2件
		 */
		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess contract_infobean = getKeiyakuinfo(web_new_infobean);
		// 利用場所情報
		X31SDataBeanAccess usePlace_infobean = getRiyobasyoinfo(web_new_infobean);
		// 光ネット
		X31SDataBeanAccess net_infobean = getEonet(web_new_infobean);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(web_new_infobean);
		/* 2012/11/15 ANK-1224-00-00 Y.Saitou ADD */
		// マンション情報
		X31SDataBeanAccess mansion_infobean = getMansioninfo(web_new_infobean);

		// ネットコース
		String net_course = net_infobean.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);
		String plc_router = net_infobean.sendMessageString(CommonInfoCFConst.PLC_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		String mesh_wifi = net_infobean.sendMessageString(CommonInfoCFConst.MESH_WIFI_11, X31CWebConst.DATABEAN_GET_VALUE);
		//【ANK-1421-00-00】IP-STB >>>
		String net_stick_stb_mskm = net_infobean.sendMessageString(CommonInfoCFConst.NET_STICK_STB_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		String net_stick_stb_mskm_cnt = net_infobean.sendMessageString(CommonInfoCFConst.NET_STICK_STB_MSKM_CNT_11, X31CWebConst.DATABEAN_GET_VALUE);
		String smp_model_no = net_infobean.sendMessageString(CommonInfoCFConst.SMP_MODEL_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
		//【ANK-1421-00-00】IP-STB <<<E
		/* 2012/11/15 ANK-1224-00-00 Y.Saitou ADD-START */
		// 申込回線サービス
		String mskm_ksn_svc = web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 申込マンションタイプ
		String mskm_mns_type = web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 提供方式パターンコード
		String teikyo_hoshiki_ptn_cd =
				mansion_infobean.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
		// 提供方式コード
		String teikyo_hoshiki_cd = mansion_infobean.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
		/* 2012/11/15 ANK-1224-00-00 Y.Saitou ADD-END */

		// 機器判定フラグを設定します。
		boolean plc_router_flg1 = false;
		boolean[] mesh_wifi_flg = { false, false };
		int mesh_wifi_idx = 0;

		//【ANK-1421-00-00】IP-STB >>>
		boolean net_stick_stb_mskm_flg1 = false;
		boolean net_stick_stb_mskm_flg2 = false;
		boolean net_stick_stb_mskm_flg3 = false;
		boolean net_stick_stb_mskm_flg4 = false;
		boolean net_stick_stb_mskm_flg5 = false;
		boolean net_stick_stb_mskm_flg6 = false;
		boolean net_stick_stb_mskm_flg7 = false;
		boolean net_stick_stb_mskm_flg8 = false;
		boolean net_stick_stb_mskm_flg9 = false;
		boolean net_stick_stb_mskm_flg10 = false;
		//【ANK-1421-00-00】IP-STB <<<E

		// 繰り返し回数を設定します。
		int count = 0;
		
		/*if (family_pack.equals(SENTAKU)) {
			family_pack_flg = true;
			count = count + 1;
		}*/// ⇒共通CCで行う

		if (plc_router.equals(SENTAKU))
		{
			plc_router_flg1 = true;
// ANK-3529-00-00 MOD START
//			plc_router_flg2 = true;
//			count = count + 2;
			count = count + 1;
// ANK-3529-00-00 MOD END
		}

		// eoメッシュWi-Fiの申込ありの場合
		
		if (mesh_wifi.equals(SENTAKU))
		{
			// プロパティより、eoメッシュWi-Fi 最小機器提供サービス数を取得する。
			String minKikiCnt = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00118, MESH_WIFI_MIN_KKTK_SVC_CNT);
			//mesh_taknkiki_model_cd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00118, MESH_WIFI_MODEL_NO);
			mesh_wifi_flg[0] = true;
			count = count + 1;
			if (DAISU_2.equals(minKikiCnt))
			{
				mesh_wifi_flg[1] = true;
				count = count + 1;
			}
		}

		//【ANK-1421-00-00】IP-STB >>>
		if (net_stick_stb_mskm.equals(SENTAKU))
		{
			net_stick_stb_mskm_flg1 = true;
			count++;
			if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 2)
			{
				net_stick_stb_mskm_flg2 = true;
				count++;
				if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 3)
				{
					net_stick_stb_mskm_flg3 = true;
					count++;
					if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 4)
					{
						net_stick_stb_mskm_flg4 = true;
						count++;
						if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 5)
						{
							net_stick_stb_mskm_flg5 = true;
							count++;
							if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 6)
							{
								net_stick_stb_mskm_flg6 = true;
								count++;
								if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 7)
								{
									net_stick_stb_mskm_flg7 = true;
									count++;
									if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 8)
									{
										net_stick_stb_mskm_flg8 = true;
										count++;
										if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 9)
										{
											net_stick_stb_mskm_flg9 = true;
											count++;
											if (Integer.parseInt(net_stick_stb_mskm_cnt) >= 10)
											{
												net_stick_stb_mskm_flg10 = true;
												count++;
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
		//【ANK-1421-00-00】IP-STB <<<E

		if (count == 0)
		{
			return null;
		}

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			childMap = new HashMap();

			// コード値をクリアします。
			String kktk_svc_cd = "";
			String pcrs_cd = "";
			String pplan_cd = "";
			String taknkiki_sbt_cd = "";
// ANK-3529-00-00 MOD START
			String taknkiki_model_cd = "";
// ANK-3529-00-00 MOD END
			/* 2012/11/15 ANK-1224-00-00 Y.Saitou ADD-START */
			String kk1861_pcrs_cd = "";
			StringBuffer kk1861_hoyu_router_cd = new StringBuffer();
			/* 2012/11/15 ANK-1224-00-00 Y.Saitou ADD-END */
			String kktk_sbt_cd = JFUStrConst.CD00212_02;

			/* 2012/11/15 ANK-1224-00-00 Y.Saitou ADD-START */
			// ホームタイプ
			if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskm_ksn_svc))
			{
				// 料金コースコード
				kk1861_pcrs_cd = JFUWebCommon.getPcrsCdHomeNet(net_course);
			}
			// メゾンタイプ
			else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(mskm_mns_type))
			{
				// 料金コースコード
				kk1861_pcrs_cd = JFUWebCommon.getPcrsCdMezonNet(net_course);
			}
			// マンションタイプ
			else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskm_mns_type))
			{
				// マンションタイプ100Ｍ
				if (JFUStrConst.NET_COURSE_100M.equals(net_course))
				{
					// 提供方式コードがVDSL または VDSL-Sの場合
					if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(teikyo_hoshiki_ptn_cd)
							|| JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(teikyo_hoshiki_ptn_cd))
					{
						// 提供方式コードが"004"VDSL2の場合
						if (JFUStrConst.TK_HOSHIKI_VDSL2.equals(teikyo_hoshiki_cd))
						{
							// 料金コースコード
							kk1861_pcrs_cd = JFUStrConst.CD00134_A50;

						}
						// 提供方式コードが"005"VDSL3の場合
						else if (JFUStrConst.TK_HOSHIKI_VDSL3.equals(teikyo_hoshiki_cd))
						{
							// 料金コースコード
							kk1861_pcrs_cd = JFUStrConst.CD00134_A51;
						}
						// 提供方式コードが"006"VDSL4の場合
						else if (JFUStrConst.TK_HOSHIKI_VDSL4.equals(teikyo_hoshiki_cd))
						{
							// 料金コースコード
							kk1861_pcrs_cd = JFUStrConst.CD00134_A52;
						}
						// 提供方式コードが"007"VDSL5の場合
						else if (JFUStrConst.TK_HOSHIKI_VDSL5.equals(teikyo_hoshiki_cd))
						{
							// 料金コースコード
							kk1861_pcrs_cd = JFUStrConst.CD00134_A53;
						}

					}
					// 提供方式コードがイーサネットの場合
					else if (JFUStrConst.TK_HOSHIKI_PTN_ENET.equals(teikyo_hoshiki_ptn_cd)
							|| JFUStrConst.TK_HOSHIKI_PTN_GG_ENET.equals(teikyo_hoshiki_ptn_cd))
					{
						// 料金コースコード
						kk1861_pcrs_cd = JFUStrConst.CD00134_A54;
					}
					// 提供方式コードが光回線の場合
					else if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(teikyo_hoshiki_ptn_cd))
					{
						// 料金コースコード
						kk1861_pcrs_cd = JFUStrConst.CD00134_A56;
					}
				}
				// マンションタイプ1ギガ
				else if (JFUStrConst.NET_COURSE_1G.equals(net_course))
				{
					// 提供方式コードがギガイーサの場合
					if (JFUStrConst.TK_HOSHIKI_PTN_ENET.equals(teikyo_hoshiki_ptn_cd)
							|| JFUStrConst.TK_HOSHIKI_PTN_GG_ENET.equals(teikyo_hoshiki_ptn_cd))
					{
						// 料金コースコード
						kk1861_pcrs_cd = JFUStrConst.CD00134_A55;
					}
					// 光配線１ギガ
					else if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(teikyo_hoshiki_ptn_cd))
					{
						// 料金コースコード
						kk1861_pcrs_cd = JFUStrConst.CD00134_A57;
					}
				}
				// マンションタイプ10ギガ
				else if (JFUStrConst.NET_COURSE_10G.equals(net_course))
				{
					// 光配線１ギガ
					if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(teikyo_hoshiki_ptn_cd))
					{
						// 料金コースコード
						kk1861_pcrs_cd = JFUStrConst.CD00134_A74;
					}
				}
				// 100Mライト
				else if (JFUStrConst.NET_COURSE_100M_LIGHT.equals(net_course))
				{
					// 光配線
					if (JFUStrConst.TK_HOSHIKI_HIKARI_HAISEN.equals(teikyo_hoshiki_cd))
					{
						// 料金コースコード
						kk1861_pcrs_cd = JFUStrConst.CD00134_A56;
					}
				}
			}
			/* 2012/11/15 ANK-1224-00-00 Y.Saitou ADD-END */

			// 機器のタイプによってコードを設定します。
			// ファミリーパックの場合⇒共通CCで行う
// ANK-3529-00-00 MOD START
			if (plc_router_flg1)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C015;
				pcrs_cd = JFUStrConst.CD00134_CA1;
				pplan_cd = JFUStrConst.CD00565_PCA101;
				taknkiki_sbt_cd = JFUStrConst.CD01262_G0;
				taknkiki_model_cd = taknkikiModel;
//				taknkiki_model_cd = "PA-W1200EX";
				plc_router_flg1 = false;
//			}
//			else if (plc_router_flg2)
//			{
//				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C015;
//				pcrs_cd = JFUStrConst.CD00134_C26;
//				pplan_cd = JFUStrConst.CD00565_PC2601;
//				taknkiki_sbt_cd = JFUStrConst.CD01262_G0;
//				taknkiki_model_cd = "PA-W1200EX";
//				plc_router_flg2 = false;
			}
// ANK-3529-00-00 MOD END
			else if (mesh_wifi_idx < mesh_wifi_flg.length && mesh_wifi_flg[mesh_wifi_idx])
			{
				// eoメッシュWi-Fi
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C015;
				pcrs_cd = JFUStrConst.CD00134_CA2;
				pplan_cd = JFUStrConst.CD00565_PCA201;
				taknkiki_sbt_cd = JFUStrConst.CD01262_G0;
				taknkiki_model_cd = taknkikiModel;
//				taknkiki_model_cd = mesh_taknkiki_model_cd;
				mesh_wifi_flg[mesh_wifi_idx] = false;
				mesh_wifi_idx++;
			}
			//【ANK-1421-00-00】IP-STB >>>
			else if (net_stick_stb_mskm_flg1)
			{
				kktk_sbt_cd = JFUStrConst.CD00212_01;
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = smp_model_no;
				net_stick_stb_mskm_flg1 = false;
			}
			else if (net_stick_stb_mskm_flg2)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = smp_model_no;
				net_stick_stb_mskm_flg2 = false;
			}
			else if (net_stick_stb_mskm_flg3)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = smp_model_no;
				net_stick_stb_mskm_flg3 = false;
			}
			else if (net_stick_stb_mskm_flg4)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = smp_model_no;
				net_stick_stb_mskm_flg4 = false;
			}
			else if (net_stick_stb_mskm_flg5)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = smp_model_no;
				net_stick_stb_mskm_flg5 = false;
			}
			else if (net_stick_stb_mskm_flg6)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = smp_model_no;
				net_stick_stb_mskm_flg6 = false;
			}
			else if (net_stick_stb_mskm_flg7)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = smp_model_no;
				net_stick_stb_mskm_flg7 = false;
			}
			else if (net_stick_stb_mskm_flg8)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = smp_model_no;
				net_stick_stb_mskm_flg8 = false;
			}
			else if (net_stick_stb_mskm_flg9)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = smp_model_no;
				net_stick_stb_mskm_flg9 = false;
			}
			else if (net_stick_stb_mskm_flg10)
			{
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C023;
				pcrs_cd = JFUStrConst.CD00134_CA3;
				pplan_cd = JFUStrConst.CD00565_PCA301;
				taknkiki_sbt_cd = JFUStrConst.CD01262_Q0;
				taknkiki_model_cd = smp_model_no;
				net_stick_stb_mskm_flg10 = false;
			}
			//【ANK-1421-00-00】IP-STB <<<E

			// 共通情報のマッピング
			childMap.put("func_code", func_code);
			// 宅内機器種別コード
			childMap.put("taknkiki_sbt_cd", taknkiki_sbt_cd);
			/* 2012/11/15 ANK-1224-00-00 Y.Saitou DEL */
			// 宅内機器型式コード
// ANK-3529-00-00 MOD START
			if (!JFUWebCommon.isNull(taknkiki_model_cd))
			{
				childMap.put("taknkiki_model_cd", taknkiki_model_cd);
			}
// ANK-3529-00-00 MOD END
			// 機器種別コード
			childMap.put("kktk_svc_cd", kktk_svc_cd);
			// 料金コースコード
			childMap.put("pcrs_cd", pcrs_cd);
			// 料金プランコード
			childMap.put("pplan_cd", pplan_cd);
			// "02"（レンタル）固定 → eo光ネットオプションマップ.機器提供種別コード
			childMap.put("kktk_sbt_cd", kktk_sbt_cd);
			// eo光ネット情報.サービス開始希望日 → eo光ネットオプションマップ.サービス利用開始希望年月日
			childMap.put("svc_use_sta_kibo_ymd", net_infobean.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_GET_VALUE));
			// "10"（標準（新品））固定 → eo光ネットオプションマップ.販売種別コード
			childMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
			// "01"（サービス契約）固定 → eo光ネットオプションマップ.親契約識別コード
			childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_01);
			// eo光ネット情報.サービス契約番号 → eo光ネットオプションマップ.サービス契約番号
			childMap.put("svc_kei_no", net_infobean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
			// SYSID → eo光ネットオプションマップ.SYSID
			childMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
			// 申込明細番号 → eo光ネットオプションマップ.申込明細番号
			childMap.put("mskm_dtl_no", net_infobean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先名 → eo光ネットオプションマップ.機器送付先名
			childMap.put("kiki_sohus_nm", getKshnm(web_new_infobean, contract_infobean));
			// 機器送付先カナ名 → eo光ネットオプションマップ.機器送付先カナ名
			childMap.put("kiki_sohus_kana", getKshnmKna(web_new_infobean, contract_infobean));
//ANK-4498-00-00 MOD START
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）
// ANK-4640-00-00 MOD START
//			if(JFUStrConst.MSKM_KBN_NEW.equals(web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))
//					 && JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskm_mns_type))
			// または、メッシュWi-Fi申込あり且つtypeNの場合は、契約者住所を送付先住所に設定
			if((JFUStrConst.MSKM_KBN_NEW.equals(web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))
					&& JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskm_mns_type))
				|| (mesh_wifi.equals(SENTAKU) && !JFUWebCommon.isNull(web_new_infobean.sendMessageString(CommonInfoCFConst.TYPEN_FLG_06, X31CWebConst.DATABEAN_GET_VALUE))))
// ANK-4640-00-00 MOD END
			{
				// 機器送付先郵便番号 → eo光ネットオプションマップ.機器送付先郵便番号
				String zipFront = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE);
				String zipBack = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE);
				String zip = JPCEditString.concatPcd(zipFront, zipBack);
				childMap.put("kiki_sohus_pcd", zip);
				// 機器送付先住所補記・建物名 → eo光ネットオプションマップ.機器送付先住所補記・建物名
				childMap
						.put("kiki_sohus_adrttm", contract_infobean.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先住所補記・部屋番号 → eo光ネットオプションマップ.機器送付先住所補記・部屋番号
				childMap.put("kiki_sohus_adrrm", contract_infobean.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先電話番号 → eo光ネットオプションマップ.機器送付先電話番号★結合が必要
				String tel1 = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE);
				String tel2 = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE);
				String tel3 = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE);
				childMap.put("kiki_sohus_telno", tel1 + tel2 + tel3);
				// 機器送付先＿契約者住所差異フラグ
				// No312 Otsuka 2013/01/28 start
				childMap.put("kiki_sohus_ksh_ad_sai_flg",JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0);
			} else {
				//ホーム・メゾンの申し込みとマンションの契約中回線へのサービス追加申込の場合
				// 機器送付先郵便番号 → eo光ネットオプションマップ.機器送付先郵便番号
				String zipFront = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE);
				String zipBack = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE);
				String zip = JPCEditString.concatPcd(zipFront, zipBack);
				childMap.put("kiki_sohus_pcd", zip);
				// 機器送付先住所補記・建物名 → eo光ネットオプションマップ.機器送付先住所補記・建物名
				childMap
						.put("kiki_sohus_adrttm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先住所補記・部屋番号 → eo光ネットオプションマップ.機器送付先住所補記・部屋番号
				childMap.put("kiki_sohus_adrrm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先電話番号 → eo光ネットオプションマップ.機器送付先電話番号★結合が必要
				String tel1 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08, X31CWebConst.DATABEAN_GET_VALUE);
				String tel2 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO2_08, X31CWebConst.DATABEAN_GET_VALUE);
				String tel3 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO3_08, X31CWebConst.DATABEAN_GET_VALUE);
				childMap.put("kiki_sohus_telno", tel1 + tel2 + tel3);
				// 機器送付先＿契約者住所差異フラグ
				// No312 Otsuka 2013/01/28 start
				childMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(contract_infobean));
			}
//ANK-4498-00-00 MOD END
			// 機器設置先＿契約者住所差異フラグ
			childMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(contract_infobean));
			// No312 Otsuka 2013/01/28 end

			// 20121102 IT1-2012-0001784 Y.Saitou DEL
			// 契約者情報.氏名（姓）/（名） → eo光ネットオプションマップ.機器設置先名
			//childMap.put("kiki_stc_saki_nm", getKshnm(web_new_infobean, contract_infobean));
			// 20121102 IT1-2012-0001783 yamashita DEL
			// 契約者情報.氏名かな（姓）/（名） → eo光ネットオプションマップ.機器設置先カナ名
			//childMap.put("kiki_stc_saki_kana", getKshnmKna(web_new_infobean, contract_infobean));

			// 利用場所情報.郵便番号（上）/（下）→ eo光ネットオプションマップ.機器設置先郵便番号
			String use_zipFront = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE);
			String use_zipBack = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE);
			childMap.put("kiki_stc_saki_pcd", use_zipFront + use_zipBack);
			// 利用場所情報.建物名 → eo光ネットオプションマップ.機器設置先住所補記・建物名
			childMap.put("kiki_stc_saki_adrttm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08,
					X31CWebConst.DATABEAN_GET_VALUE));
			// 利用場所情報.部屋番号 → eo光ネットオプションマップ.機器設置先住所補記・部屋番号
			childMap.put("kiki_stc_saki_adrrm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08,
					X31CWebConst.DATABEAN_GET_VALUE));
			// 利用場所情報.電話番号（１）/（２）/（３） → eo光ネットオプションマップ.機器設置先電話番号
			String usePlace_tel1 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08, X31CWebConst.DATABEAN_GET_VALUE);
			String usePlace_tel2 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO2_08, X31CWebConst.DATABEAN_GET_VALUE);
			String usePlace_tel3 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO3_08, X31CWebConst.DATABEAN_GET_VALUE);
			childMap.put("kiki_stc_sk_telno", usePlace_tel1 + usePlace_tel2 + usePlace_tel3);
			// 異動区分
			childMap.put("ido_div", getIdoKbn(web_new_infobean));
			// 請求契約番号
			childMap.put("seiky_kei_no", getSeikyKeiNo(cash_infobean));
			// 配送区分(00：直送)
			childMap.put("haiso_div", JFUStrConst.CD00020_00);
			// 機器送付先個別指定フラグ
			childMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
			// ↓↓■2011/10/15 機器IF項目追加対応■↓↓
			// 機器引当指定倉庫コード("000001")
			childMap.put("kiki_hkat_shitei_soko_cd", KIKI_SOUKO_MINATO);
			// 機器引当指定倉庫棚コード("000")
			childMap.put("kiki_hkat_shitei_skdn_cd", bnElseinfo.sendMessageString(CommonInfoCFConst.SHELF_CD_18, X31CWebConst.DATABEAN_GET_VALUE));

			/* 2013/02/14 KT1-2013-0000162 Y.Saitou DEL */

			// 住所未確定フラグ
			childMap.put("ad_mi_fix_flg", getAdMiFixFlg(usePlace_infobean));
			// ↑↑■2011/10/15 機器IF項目追加対応■↑↑
			// 更新年月日時分秒(更新前) 2011/12/17 追加→削除
			//childMap.put("upd_dtm_bf", net_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_11, X31CWebConst.DATABEAN_GET_VALUE));
			childMap.put("upd_dtm_bf", "");

			// 機器送付先住所手動入力フラグ
			childMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);

			/* 2012/11/15 ANK-1224-00-00 Y.Saitou ADD-START */
			// 料金コースコード(サービス別宅内機器型式候補検索用)
			childMap.put("kk1861_pcrs_cd", kk1861_pcrs_cd);
			// 保有コースコード(サービス別宅内機器型式候補検索用)
			childMap.put("kk1861_hoyu_router_cd", kk1861_hoyu_router_cd.toString());
			/* 2012/11/15 ANK-1224-00-00 Y.Saitou ADD-END */

			// Otsuka 2013/02/22 start
			// ホームタイプ以外の場合
			if (!JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskm_ksn_svc))
			{
				// マンション物件番号
				childMap.put("mansion_bukken_no", mansion_infobean
						.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
			}
			// Otsuka 2013/02/22 end

			// ストリーミングメディアプレーヤー端末購入受付担当者名
			if (JFUStrConst.KK0771_KKTK_SVC_CD_C023.equals(kktk_svc_cd))
			{
				childMap.put("tnmt_buy_tchisho_oput_skcd", "1");
				childMap.put("tnmt_buy_uk_tntsha_nm", net_infobean
						.sendMessageString(CommonInfoCFConst.SMP_BUY_UK_TNTSHA_NM_11, X31CWebConst.DATABEAN_GET_VALUE));
			}

			list.add(childMap);
		}
		if(JFUStrConst.MSKM_KBN_NEW.equals(web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))
				 && JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskm_mns_type))
		{
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）

			parentMap.put("MSKM_MNS_TYPE",web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));
		}
		parentMap.put("EKK0341D010List", list);
		outputMap.put("EKK0341D010", parentMap);

		return outputMap;
	}
	
	/**
	 * オプションサービス契約＜サポート＞登録の上りマッピングをする（ｅｏ光ネットオプション登録ＣＣ）
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0391D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess net_infobean = getEonet(web_new_infobean);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// リモートサポートを選択していない場合は処理終了
		String remosupo_plus = net_infobean.sendMessageString(CommonInfoCFConst.RMTSPRT_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		if (!remosupo_plus.equals(SENTAKU))
		{
			return null;
		}
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// "B021"固定（リモートサポートプラス） → オプションサービスマップ.オプションサービスコード
		parentMap.put("op_svc_cd", JFUStrConst.CD00136_B021);
		// "B25"固定（リモートサポートプラス） → オプションサービスマップ.料金コースコード
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_B25);
		// "PB2501"固定（リモートサポートプラス） → オプションサービスマップ.料金プランコード
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PB2501);
		// サービス利用開始希望年月日
		parentMap.put("svc_use_sta_kibo_ymd", net_infobean.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// "01"固定（サービス契約） → オプションサービスマップ.親契約識別コード
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_01);
		// eo光ネット.サービス契約番号 → オプションサービスマップ.サービス契約番号
		parentMap.put("svc_kei_no", net_infobean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// SYSID→ オプションサービスマップ.SYSID
		parentMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// eo光ネット.申込明細番号 → オプションサービスマップ.申込明細番号
		parentMap.put("mskm_dtl_no", net_infobean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(web_new_infobean));
		// 請求契約番号 → オプションサービスマップ.請求契約番号
		parentMap.put("seiky_kei_no", getSeikyKeiNo(cash_infobean));

		// 更新年月日時分秒(更新前) 2011/12/17 追加→削除
		//parentMap.put("upd_dtm_bf", net_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_11, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("upd_dtm_bf", "");

		outputMap.put("EKK0391D010", parentMap);

		return outputMap;
	}

	/**
	 * 機器オプションサービス契約一覧照会(フロント)の上りマッピングをします。
	 *
	 * <br>
	 * @param bean 
	 * @param outputMap
	 * @param func_code
	 * @return HashMap
	 * @exception Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK2811B503(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約サービス
		X31SDataBeanAccess contractSvc_infobean = getKeiyakusvcinfo(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// SYSID
		parentMap.put("key_sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約回線内訳番号
		parentMap.put("key_svc_kei_kaisen_ucwk_no", contractSvc_infobean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,
				X31CWebConst.DATABEAN_GET_VALUE));
//		// 宅内機器種別コード
//		parentMap.put("key_taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_RD);
		// 親機器識別コード
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_02);
		// 申込区分
		parentMap.put("mskmKbn", web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK2811B50302", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス契約一覧照会の上りマッピングをします。
	 *
	 * <br>
	 * @param bean 
	 * @param outputMap
	 * @param func_code
	 * @return HashMap
	 * @exception Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341B002(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約サービス
		X31SDataBeanAccess contractSvc_infobean = getKeiyakusvcinfo(web_new_infobean);
		// eo光電話
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約番号
		parentMap.put("key_svc_kei_no", tel_infobean1.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約中サービス（電話）
		parentMap.put("nowSvcTel", contractSvc_infobean.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE));
		// 選択サービス（電話）
		parentMap.put("selectSvcTel", contractSvc_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込区分
		parentMap.put("mskmKbn", web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号(電話)
		parentMap.put("svc_kei_no_tel", tel_infobean1.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0341B00202", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス契約キャンセルの上りマッピングをします。
	 *
	 * <br>
	 * @param bean 
	 * @param outputMap
	 * @param func_code
	 * @return HashMap
	 * @exception Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341C330(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービスキャンセル理由コード
		parentMap.put("svc_cancel_rsn_cd", JFUStrConst.CD01390_20);
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(web_new_infobean));

		// 申込区分
		parentMap.put("mskmKbn", web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0341C33002", parentMap);

		return outputMap;
	}

	/**
	 * サービス契約<eo光ネット>一意照会の上りマッピングをします。
	 *
	 * <br>
	 * @param bean 
	 * @param outputMap
	 * @param func_code
	 * @return HashMap
	 * @exception Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0091A010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess net_infobean = getEonet(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約番号
		parentMap.put("key_svc_kei_no", net_infobean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));


		outputMap.put("EKK0091A010", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス契約登録(多機能ルーター)の上りマッピングをする（ｅｏ光ネットオプション登録ＣＣ）
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 * @exception Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341D010Tkn(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		/*
		 * ■判定条件■ 無線ルーター機能/有線ルーター機能のどちらか
		 */
		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess contract_infobean = getKeiyakuinfo(web_new_infobean);
		// 契約サービス
		X31SDataBeanAccess contractSvc_infobean = getKeiyakusvcinfo(web_new_infobean);
		// 利用場所情報
		X31SDataBeanAccess usePlace_infobean = getRiyobasyoinfo(web_new_infobean);
		// 光ネット
		X31SDataBeanAccess net_infobean = getEonet(web_new_infobean);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(web_new_infobean);
		// マンション情報
		X31SDataBeanAccess mansion_infobean = getMansioninfo(web_new_infobean);

		// ネットコース
		String net_course = net_infobean.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);
		String musen_router = net_infobean.sendMessageString(CommonInfoCFConst.TKN_ROUTER_MUSEN_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		String yusen_router = net_infobean.sendMessageString(CommonInfoCFConst.TKN_ROUTER_YUSEN_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);

		// 申込回線サービス
		String mskm_ksn_svc = web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 申込マンションタイプ
		String mskm_mns_type = web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 提供方式パターンコード
		String teikyo_hoshiki_ptn_cd =
				mansion_infobean.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
		// 提供方式コード
		String teikyo_hoshiki_cd = mansion_infobean.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

		// 全戸一括ファミパ対応
		String famipaMskmUm = net_infobean.sendMessageString(CommonInfoCFConst.FP_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		String knykeiMskmJokenCd = mansion_infobean.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
		String hanbaiType = web_new_infobean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		if(JFUStrConst.HNBAI_TYPE_CON.equals(hanbaiType) && JFUStrConst.FP_MSKM_MSKM.equals(famipaMskmUm)
				&& JFUStrConst.KNYKEI_MSKM_JOKEN_IKT.equals(knykeiMskmJokenCd))
		{
			// 無線ルーター機能を申し込んでいることにする
			musen_router = JFUStrConst.TKN_ROUTER_MUSEN_MSKM_MSKM;
			yusen_router = JFUStrConst.TKN_ROUTER_YUSEN_NOT_MSKM;
		}

		// HGW保有でネットサービス追加時、有線ルータ初期設定する
		String selectNet = contractSvc_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(selectNet) && existHgw(web_new_infobean))
		{
			if (!SENTAKU.equals(yusen_router) && !SENTAKU.equals(musen_router))
			{
				// 有線ルーター機能を申し込んでいることにする
				musen_router = JFUStrConst.TKN_ROUTER_MUSEN_NOT_MSKM;
				yusen_router = JFUStrConst.TKN_ROUTER_YUSEN_MSKM_MSKM;
			}
		}

		// 機器判定フラグを設定します。
		boolean musen_router_flg = false;
		boolean yusen_router_flg = false;

		if (musen_router.equals(SENTAKU))
		{
			musen_router_flg = true;
		}
		if (yusen_router.equals(SENTAKU))
		{
			yusen_router_flg = true;
		}

		if (musen_router_flg || yusen_router_flg)
		{
			childMap = new HashMap();
	
			// コード値をクリアします。
			String kk1861_pcrs_cd = "";
			StringBuffer kk1861_hoyu_router_cd = new StringBuffer();
			// ホームタイプ
			if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskm_ksn_svc))
			{
				// 料金コースコード
				kk1861_pcrs_cd = JFUWebCommon.getPcrsCdHomeNet(net_course);
			}
			// メゾンタイプ
			else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(mskm_mns_type))
			{
				// 料金コースコード
				kk1861_pcrs_cd = JFUWebCommon.getPcrsCdMezonNet(net_course);
			}
			// マンションタイプ
			else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskm_mns_type))
			{
				// マンションタイプ100Ｍ
				if (JFUStrConst.NET_COURSE_100M.equals(net_course))
				{
					// 提供方式コードがVDSL または VDSL-Sの場合
					if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(teikyo_hoshiki_ptn_cd)
							|| JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(teikyo_hoshiki_ptn_cd))
					{
						// 提供方式コードが"004"VDSL2の場合
						if (JFUStrConst.TK_HOSHIKI_VDSL2.equals(teikyo_hoshiki_cd))
						{
							// 料金コースコード
							kk1861_pcrs_cd = JFUStrConst.CD00134_A50;
	
						}
						// 提供方式コードが"005"VDSL3の場合
						else if (JFUStrConst.TK_HOSHIKI_VDSL3.equals(teikyo_hoshiki_cd))
						{
							// 料金コースコード
							kk1861_pcrs_cd = JFUStrConst.CD00134_A51;
						}
						// 提供方式コードが"006"VDSL4の場合
						else if (JFUStrConst.TK_HOSHIKI_VDSL4.equals(teikyo_hoshiki_cd))
						{
							// 料金コースコード
							kk1861_pcrs_cd = JFUStrConst.CD00134_A52;
						}
						// 提供方式コードが"007"VDSL5の場合
						else if (JFUStrConst.TK_HOSHIKI_VDSL5.equals(teikyo_hoshiki_cd))
						{
							// 料金コースコード
							kk1861_pcrs_cd = JFUStrConst.CD00134_A53;
						}
	
					}
					// 提供方式コードがイーサネットの場合
					else if (JFUStrConst.TK_HOSHIKI_PTN_ENET.equals(teikyo_hoshiki_ptn_cd)
							|| JFUStrConst.TK_HOSHIKI_PTN_GG_ENET.equals(teikyo_hoshiki_ptn_cd))
					{
						// 料金コースコード
						kk1861_pcrs_cd = JFUStrConst.CD00134_A54;
					}
					// 提供方式コードが光回線の場合
					else if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(teikyo_hoshiki_ptn_cd))
					{
						// 料金コースコード
						kk1861_pcrs_cd = JFUStrConst.CD00134_A56;
					}
				}
				// マンションタイプ1ギガ
				else if (JFUStrConst.NET_COURSE_1G.equals(net_course))
				{
					// 提供方式コードがギガイーサの場合
					if (JFUStrConst.TK_HOSHIKI_PTN_ENET.equals(teikyo_hoshiki_ptn_cd)
							|| JFUStrConst.TK_HOSHIKI_PTN_GG_ENET.equals(teikyo_hoshiki_ptn_cd))
					{
						// 料金コースコード
						kk1861_pcrs_cd = JFUStrConst.CD00134_A55;
					}
					// 光配線１ギガ
					else if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(teikyo_hoshiki_ptn_cd))
					{
						// 料金コースコード
						kk1861_pcrs_cd = JFUStrConst.CD00134_A57;
					}
				}
				// マンションタイプ10ギガ
				else if (JFUStrConst.NET_COURSE_10G.equals(net_course))
				{
					// 光配線１ギガ
					if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(teikyo_hoshiki_ptn_cd))
					{
						// 料金コースコード
						kk1861_pcrs_cd = JFUStrConst.CD00134_A74;
					}
				}
				// 100Mライト
				else if (JFUStrConst.NET_COURSE_100M_LIGHT.equals(net_course))
				{
					// 光配線
					if (JFUStrConst.TK_HOSHIKI_HIKARI_HAISEN.equals(teikyo_hoshiki_cd))
					{
						// 料金コースコード
						kk1861_pcrs_cd = JFUStrConst.CD00134_A56;
					}
				}
			}
	
			// 無線ルーター機能の場合
			if (musen_router_flg)
			{
				// 保有ルーターコード 
				kk1861_hoyu_router_cd = kk1861_hoyu_router_cd.append(JFUStrConst.CD01313_04).append(JFUStrConst.COMMA).append(JFUStrConst.CD01313_05).append(JFUStrConst.COMMA).append(JFUStrConst.CD01313_06);
			}
			// 有線ルーター機能の場合
			else if (yusen_router_flg)
			{
				// 保有ルーターコード 
				kk1861_hoyu_router_cd = kk1861_hoyu_router_cd.append(JFUStrConst.CD01313_01).append(JFUStrConst.COMMA).append(JFUStrConst.CD01313_02);
			}
	
			// 共通情報のマッピング
			childMap.put("func_code", func_code);
			// 宅内機器種別コード
			childMap.put("taknkiki_sbt_cd", JFUStrConst.CD01262_R0);
			// 機器種別コード
			childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C024);
			// 料金コースコード
			childMap.put("pcrs_cd", JFUStrConst.CD00134_C94);
			// 料金プランコード
			childMap.put("pplan_cd", JFUStrConst.CD00565_PC9401);
			// "02"（レンタル）固定 → eo光ネットオプションマップ.機器提供種別コード
			childMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
			// eo光ネット情報.サービス開始希望日 → eo光ネットオプションマップ.サービス利用開始希望年月日
			childMap.put("svc_use_sta_kibo_ymd", net_infobean.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_GET_VALUE));
			// "10"（標準（新品））固定 → eo光ネットオプションマップ.販売種別コード
			childMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
			// "02"（サービス契約回線内訳）固定 → eo光ネットオプションマップ.親契約識別コード
			childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_02);
			// サービス契約回線内訳番号
			childMap.put("svc_kei_kaisen_ucwk_no", contractSvc_infobean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,
					X31CWebConst.DATABEAN_GET_VALUE));
			// SYSID → eo光ネットオプションマップ.SYSID
			childMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
			// サービス契約番号（ネット）
			childMap.put("tg_svc_kei_no", net_infobean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
			// 申込明細番号 → eo光ネットオプションマップ.申込明細番号
			childMap.put("mskm_dtl_no", net_infobean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
			
			// 機器送付先名 → eo光ネットオプションマップ.機器送付先名
			childMap.put("kiki_sohus_nm", getKshnm(web_new_infobean, contract_infobean));
			// 機器送付先カナ名 → eo光ネットオプションマップ.機器送付先カナ名
			childMap.put("kiki_sohus_kana", getKshnmKna(web_new_infobean, contract_infobean));
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）
			if(JFUStrConst.MSKM_KBN_NEW.equals(web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))
					 && JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskm_mns_type))
			{
				// 機器送付先郵便番号 → eo光ネットオプションマップ.機器送付先郵便番号
				String zipFront = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE);
				String zipBack = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE);
				String zip = JPCEditString.concatPcd(zipFront, zipBack);
				childMap.put("kiki_sohus_pcd", zip);
				// 機器送付先住所補記・建物名 → eo光ネットオプションマップ.機器送付先住所補記・建物名
				childMap.put("kiki_sohus_adrttm", contract_infobean.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先住所補記・部屋番号 → eo光ネットオプションマップ.機器送付先住所補記・部屋番号
				childMap.put("kiki_sohus_adrrm", contract_infobean.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先電話番号 → eo光ネットオプションマップ.機器送付先電話番号★結合が必要
				String tel1 = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE);
				String tel2 = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE);
				String tel3 = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE);
				childMap.put("kiki_sohus_telno", tel1 + tel2 + tel3);
				// 機器送付先＿契約者住所差異フラグ
				childMap.put("kiki_sohus_ksh_ad_sai_flg", JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0);
			} else {
				//ホーム・メゾンの申し込みとマンションの契約中回線へのサービス追加申込の場合
				// 機器送付先郵便番号 → eo光ネットオプションマップ.機器送付先郵便番号
				String zipFront = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE);
				String zipBack = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE);
				String zip = JPCEditString.concatPcd(zipFront, zipBack);
				childMap.put("kiki_sohus_pcd", zip);
				// 機器送付先住所補記・建物名 → eo光ネットオプションマップ.機器送付先住所補記・建物名
				childMap.put("kiki_sohus_adrttm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先住所補記・部屋番号 → eo光ネットオプションマップ.機器送付先住所補記・部屋番号
				childMap.put("kiki_sohus_adrrm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先電話番号 → eo光ネットオプションマップ.機器送付先電話番号★結合が必要
				String tel1 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08, X31CWebConst.DATABEAN_GET_VALUE);
				String tel2 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO2_08, X31CWebConst.DATABEAN_GET_VALUE);
				String tel3 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO3_08, X31CWebConst.DATABEAN_GET_VALUE);
				childMap.put("kiki_sohus_telno", tel1 + tel2 + tel3);
				// 機器送付先＿契約者住所差異フラグ
				childMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(contract_infobean));
			}
			// 機器設置先＿契約者住所差異フラグ
			childMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(contract_infobean));
			// 利用場所情報.郵便番号（上）/（下）→ eo光ネットオプションマップ.機器設置先郵便番号
			String use_zipFront = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE);
			String use_zipBack = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE);
			childMap.put("kiki_stc_saki_pcd", use_zipFront + use_zipBack);
			// 利用場所情報.建物名 → eo光ネットオプションマップ.機器設置先住所補記・建物名
			childMap.put("kiki_stc_saki_adrttm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08,
					X31CWebConst.DATABEAN_GET_VALUE));
			// 利用場所情報.部屋番号 → eo光ネットオプションマップ.機器設置先住所補記・部屋番号
			childMap.put("kiki_stc_saki_adrrm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08,
					X31CWebConst.DATABEAN_GET_VALUE));
			// 利用場所情報.電話番号（１）/（２）/（３） → eo光ネットオプションマップ.機器設置先電話番号
			String usePlace_tel1 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08, X31CWebConst.DATABEAN_GET_VALUE);
			String usePlace_tel2 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO2_08, X31CWebConst.DATABEAN_GET_VALUE);
			String usePlace_tel3 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO3_08, X31CWebConst.DATABEAN_GET_VALUE);
			childMap.put("kiki_stc_sk_telno", usePlace_tel1 + usePlace_tel2 + usePlace_tel3);
			// 異動区分
			childMap.put("ido_div", getIdoKbn(web_new_infobean));
			// 請求契約番号
			childMap.put("seiky_kei_no", getSeikyKeiNo(cash_infobean));
			// 配送区分(00：直送)
			childMap.put("haiso_div", JFUStrConst.CD00020_00);
			// 機器送付先個別指定フラグ
			childMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
			// ↓↓■2011/10/15 機器IF項目追加対応■↓↓
			// 機器引当指定倉庫コード("000001")
			childMap.put("kiki_hkat_shitei_soko_cd", KIKI_SOUKO_MINATO);
			// 機器引当指定倉庫棚コード("000")
			childMap.put("kiki_hkat_shitei_skdn_cd", bnElseinfo.sendMessageString(CommonInfoCFConst.SHELF_CD_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 住所未確定フラグ
			childMap.put("ad_mi_fix_flg", getAdMiFixFlg(usePlace_infobean));
			// 更新年月日時分秒(更新前)
			childMap.put("upd_dtm_bf", "");
			// 機器送付先住所手動入力フラグ
			childMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
			// 料金コースコード(サービス別宅内機器型式候補検索用)
			childMap.put("kk1861_pcrs_cd", kk1861_pcrs_cd);
			// 保有コースコード(サービス別宅内機器型式候補検索用)
			childMap.put("kk1861_hoyu_router_cd", kk1861_hoyu_router_cd.toString());
			// ホームタイプ以外の場合
			if (!JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskm_ksn_svc))
			{
				// マンション物件番号
				childMap.put("mansion_bukken_no", mansion_infobean
						.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
			}
			
			list.add(childMap);

			if(JFUStrConst.MSKM_KBN_NEW.equals(web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))
					 && JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskm_mns_type))
			{
				//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）

				parentMap.put("MSKM_MNS_TYPE",web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));
			}			
			parentMap.put("EKK0341D010TknList", list);
			outputMap.put("EKK0341D010Tkn", parentMap);
		}

		return outputMap;
	}

	/**
	 * 機器オプションサービス契約＜eo光ネット＞の上りマッピングをする（ｅｏ光ネットオプション登録ＣＣ）
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return bean
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK2811D010Net02(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		/*
		 * ■判定条件■ 無線ルーター機能/有線ルーター機能のどちらか
		 */
		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);
		// 光ネット
		X31SDataBeanAccess net_infobean = getEonet(web_new_infobean);
		// マンション情報
		X31SDataBeanAccess manshonInfo = getMansioninfo(web_new_infobean);
		// 契約サービス
		X31SDataBeanAccess contractSvc_infobean = getKeiyakusvcinfo(web_new_infobean);

		// ネットコース
		String musen_router = net_infobean.sendMessageString(CommonInfoCFConst.TKN_ROUTER_MUSEN_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		String yusen_router = net_infobean.sendMessageString(CommonInfoCFConst.TKN_ROUTER_YUSEN_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);

		// 全戸一括ファミパ対応
		String famipaMskmUm = net_infobean.sendMessageString(CommonInfoCFConst.FP_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		String knykeiMskmJokenCd = manshonInfo.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
		String hanbaiType = web_new_infobean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		if(JFUStrConst.HNBAI_TYPE_CON.equals(hanbaiType) && JFUStrConst.FP_MSKM_MSKM.equals(famipaMskmUm)
				&& JFUStrConst.KNYKEI_MSKM_JOKEN_IKT.equals(knykeiMskmJokenCd))
		{
			// 無線ルーター機能を申し込んでいることにする
			musen_router = JFUStrConst.TKN_ROUTER_MUSEN_MSKM_MSKM;
			yusen_router = JFUStrConst.TKN_ROUTER_YUSEN_NOT_MSKM;
		}

		// HGW保有でネットサービス追加時、有線ルータ初期設定する
		String selectNet = contractSvc_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(selectNet) && existHgw(web_new_infobean))
		{
			if (!SENTAKU.equals(yusen_router) && !SENTAKU.equals(musen_router))
			{
				// 有線ルーター機能を申し込んでいることにする
				musen_router = JFUStrConst.TKN_ROUTER_MUSEN_NOT_MSKM;
				yusen_router = JFUStrConst.TKN_ROUTER_YUSEN_MSKM_MSKM;
			}
		}

		// 機器判定フラグを設定します。
		boolean musen_router_flg = false;
		boolean yusen_router_flg = false;

		// 繰り返し回数を設定します。
		int count = 0;

		if (musen_router.equals(SENTAKU))
		{
			musen_router_flg = true;
			count = count + 1;
		}
		if (yusen_router.equals(SENTAKU))
		{
			yusen_router_flg = true;
			count = count + 1;
		}

		if (count == 0)
		{
			return null;
		}

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			childMap = new HashMap();

			// コード値をクリアします。
			String kkop_svc_cd = "";
			String pcrs_cd = "";
			String pplan_cd = "";

			if (musen_router_flg)
			{
				// 無線ルーター機能の場合
				kkop_svc_cd = JFUStrConst.KK2801_KKOP_SVC_CD_G01;
				pcrs_cd = JFUStrConst.CD00134_G02;
				pplan_cd = JFUStrConst.CD00565_PG0201;

				musen_router_flg = false;

			}
			else if (yusen_router_flg)
			{
				// 有線ルーター機能の場合
				kkop_svc_cd = JFUStrConst.KK2801_KKOP_SVC_CD_G01;
				pcrs_cd = JFUStrConst.CD00134_G01;
				pplan_cd = JFUStrConst.CD00565_PG0101;

				yusen_router_flg = false;
			}

			// 共通情報のマッピング
			childMap.put("func_code", func_code);

			// 機器オプションサービスコード
			childMap.put("kkop_svc_cd", kkop_svc_cd);
			// 料金コースコード
			childMap.put("pcrs_cd", pcrs_cd);
			// 料金プランコード
			childMap.put("pplan_cd", pplan_cd);
			// 請求契約番号
			childMap.put("seiky_kei_no", getSeikyKeiNo(cash_infobean));
			// 異動区分
			childMap.put("ido_div", getIdoKbn(web_new_infobean));
			// SYSID
			childMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
			// 申込明細番号
			childMap.put("mskm_dtl_no", net_infobean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器連帯契約変更手続中フラグ
			childMap.put("kiki_rntai_kei_chgechu_flg", JFUStrConst.KK2811_KIKI_RNTAI_KEI_CHGECHU_FLG_0);
			// 更新年月日時分秒(更新前) 2011/12/17 追加→削除
			childMap.put("upd_dtm_bf", net_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_11, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// ファミパ有無
		childMap.put("famipa_um", famipaMskmUm);
		// 加入契約申込条件コード
		childMap.put("knykei_mskm_joken_cd", knykeiMskmJokenCd);

		list.add(childMap);

		parentMap.put("EKK2811D010Net02List", list);
		outputMap.put("EKK2811D010Net02", parentMap);

		return outputMap;
	}

	/**
	 * 機器オプションサービス契約登録＜eo光電話＞の上りマッピングをする（ｅｏ光ネットオプション登録ＣＣ）
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 * @exception Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK2811D010Tel02(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		ArrayList list = null;
		HashMap childMap = null;

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess net_infobean = getEonet(web_new_infobean);

		// eo光電話
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		list = new ArrayList();

		// for文削除　2013/01/25 Otsuka

		childMap = new HashMap();

		// 共通情報のマッピング
		childMap.put("func_code", func_code);
		// 機器オプションサービスコード(電話)
		childMap.put("kkop_svc_cd", JFUStrConst.KK2801_KKOP_SVC_CD_G02);
		// 請求契約番号
		childMap.put("seiky_kei_no", getSeikyKeiNo(cash_infobean));
		// SYSID
		childMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込明細番号
		childMap.put("mskm_dtl_no", net_infobean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		childMap.put("ido_div", getIdoKbn(web_new_infobean));
		// 機器連帯契約変更手続中フラグ
		childMap.put("kiki_rntai_kei_chgechu_flg", JFUStrConst.KK2811_KIKI_RNTAI_KEI_CHGECHU_FLG_1);
		// 更新年月日時分秒(更新前)
		childMap.put("upd_dtm_bf", tel_infobean2.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_GET_VALUE));

		list.add(childMap);

		parentMap.put("EKK2811D010Tel02List", list);
		outputMap.put("EKK2811D010Tel02", parentMap);

		return outputMap;
	}

	/**
	 * 電話番号登録の上りマッピングをする（ｅｏ光電話オプション登録ＣＣ）
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEZM0121D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		ArrayList list = new ArrayList();
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);

		list = setBmpTelMap(bean, func_code);
		if (list == null || list.size() == 0)
		{
			return null;
		}
		parentMap.put("EZM0121D010List", list);

		// ----- ST1-2012-0000156 2012/07/30 NRN番号設定対応 h.iwamoto START-----
		// ＷＥＢ新規情報.契約種別
		String keiSbt = web_new_infobean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 契約者タイプコード設定(契約種別)
		parentMap.put("keisha_type_cd", keiSbt);
		// ----- ST1-2012-0000156 2012/07/30 NRN番号設定対応 h.iwamoto END-----

		outputMap.put("EZM0121D010", parentMap);

		return outputMap;

	}

	/**
	 * 番号ポータビリティの電話設定
	 * @param bean [0]：共有フォームビーン
	 * @return ArrayList
	 */
	private ArrayList<HashMap<String, Object>> setBmpTelMap(X31SDataBeanAccess[] bean, String func_code)
	{
		ArrayList<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
		HashMap<String, Object> childMap = null;
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);

		// eo光電話
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		String bnp_um1 = tel_infobean1.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);
		String bnp_um2 = tel_infobean2.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);

		// 番号ポータビリティ情報フラグを設定します。
		boolean bnp_flg1 = false;
		boolean bnp_flg2 = false;

		// 繰り返し回数を設定します。
		int count = 0;

		String bnpCancel1 = tel_infobean1.sendMessageString(CommonInfoCFConst.BMP_CANCEL_FLG_12, X31CWebConst.DATABEAN_GET_VALUE);
		String bnpCancel2 = tel_infobean2.sendMessageString(CommonInfoCFConst.BMP_CANCEL_FLG_12, X31CWebConst.DATABEAN_GET_VALUE);

		// 番ポキャンセル対応 Start *****************************************************************
		if (SENTAKU.equals(bnp_um1) && !bmpCancelFlg.equals(bnpCancel1))
		{
			bnp_flg1 = true;
			count = count + 1;
		}
		// 番号ポータビリティ利用有無（２番号目）
		if (SENTAKU.equals(bnp_um2) && !bmpCancelFlg.equals(bnpCancel2))
		{
			bnp_flg2 = true;
			count = count + 1;
		}
		// 番ポキャンセル対応 End *****************************************************************

		if (count == 0)
		{
			return null;
		}

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			X31SDataBeanAccess telBean_accesser = null;
			// 共有フォームBeanのアクセサを取得します。
			if (bnp_flg1)
			{
				telBean_accesser = tel_infobean1;
				bnp_flg1 = false;
			}
			else if (bnp_flg2)
			{
				telBean_accesser = tel_infobean2;
				bnp_flg2 = false;
			}

			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put("func_code", func_code);

			// 番ポ電話番号取得
			String telNo =
					telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TELNO1_12, X31CWebConst.DATABEAN_GET_VALUE)
							+ telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TELNO2_12, X31CWebConst.DATABEAN_GET_VALUE)
							+ telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TELNO3_12, X31CWebConst.DATABEAN_GET_VALUE);
			// 電話番号
			childMap.put("telno", telNo);
			// 番号コード
			childMap.put("no_cd", JFUStrConst.CD00200_01);

			// サービス区分
			childMap.put("svc_div", JFUStrConst.CD00203_01);
			// 電話番号適用開始年月日⇒ＣＣ内でセット
			//String opeDate = JFUWebCommon.getSysDate();
			childMap.put("telno_tstaymd", "");

			childMap.put("kojin_hojin_tln_tai_cd", "1");

// ANK-4494-00-00_【eo定期】双方向番ポ対応 ADD START
			// 割当通信事業者コード
			childMap.put("wariate_tsjgs_cd",JFUStrConst.EMPTY);
			// 使用通信事業者コード	
			childMap.put("use_tsjgs_cd", JFUStrConst.EMPTY);
			// 初期個人法人電話番号帯コード
			childMap.put("shk_kojin_hojin_tln_tai_cd", JFUStrConst.CD00410_1); // 1:個人
	//TEST		// 初期個人法人電話番号帯コード
			String testwk = JFUStrConst.CD00410_1;
			childMap.put("shk_kojin_hojin_tln_tai_cd", testwk); // 1:個人
			// 電話番号取得通信事業者コード
			childMap.put("tln_stku_tsjgs_cd", JFUStrConst.EMPTY);
			// 移転元通信事業者コード
			childMap.put("itnm_tsjgs_cd", telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TEL_SVCTK_JGS_12, X31CWebConst.DATABEAN_GET_VALUE));
			// 移転先通信事業者コード
			childMap.put("itns_tsjgs_cd", JFUStrConst.TU0051_TSJGS_CD_5100);
// ANK-4494-00-00_【eo定期】双方向番ポ対応 ADD END

			list.add(childMap);
		}
		
		return list;
	}


	/**
	 * エイジング対象登録の上りマッピングをする（ｅｏ光電話オプション登録ＣＣ）
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEZM0111D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);

		// eo光電話
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		String bnp_um1 = tel_infobean1.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);
		String bnp_um2 = tel_infobean2.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);

		// 番号ポータビリティ情報フラグを設定します。
		boolean bnp_flg1 = false;
		boolean bnp_flg2 = false;

		// 繰り返し回数を設定します。
		int count = 0;
		// 2012.1.22 番ポキャンセル対応 Start ***************************************************************
		// 番号ポータビリティ利用有無（１番号目）
		/*if (bnp_um1.equals(SENTAKU)) {
			bnp_flg1 = true;
			count = count + 1;
		}
		// 番号ポータビリティ利用有無（２番号目）
		if (bnp_um2.equals(SENTAKU)) {
			bnp_flg2 = true;
			count = count + 1;
		}*/

		String bnpCancel1 = tel_infobean1.sendMessageString(CommonInfoCFConst.BMP_CANCEL_FLG_12, X31CWebConst.DATABEAN_GET_VALUE);
		String bnpCancel2 = tel_infobean2.sendMessageString(CommonInfoCFConst.BMP_CANCEL_FLG_12, X31CWebConst.DATABEAN_GET_VALUE);
		// 番号ポータビリティ利用有無（１番号目）
		if (bnp_um1.equals(SENTAKU) && !bmpCancelFlg.equals(bnpCancel1))
		{
			bnp_flg1 = true;
			count = count + 1;
		}
		// 番号ポータビリティ利用有無（２番号目）
		if (bnp_um2.equals(SENTAKU) && !bmpCancelFlg.equals(bnpCancel2))
		{
			bnp_flg2 = true;
			count = count + 1;
		}
		// 2012.1.22 番ポキャンセル対応 End *****************************************************************
		if (count == 0)
		{
			return null;
		}

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			X31SDataBeanAccess telBean_accesser = null;
			// 共有フォームBeanのアクセサを取得します。
			if (bnp_flg1)
			{
				telBean_accesser = tel_infobean1;
				bnp_flg1 = false;
			}
			else if (bnp_flg2)
			{
				telBean_accesser = tel_infobean2;
				bnp_flg2 = false;
			}

			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put("func_code", func_code);

			// エイジング種別コード
			childMap.put("aging_sbt_cd", JFUStrConst.CD00412_001);
			// 番ポ電話番号取得
			String telNo =
					telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TELNO1_12, X31CWebConst.DATABEAN_GET_VALUE)
							+ telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TELNO2_12, X31CWebConst.DATABEAN_GET_VALUE)
							+ telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TELNO3_12, X31CWebConst.DATABEAN_GET_VALUE);
			// エイジング対象値
			childMap.put("aging_tg_value", telNo);

			list.add(childMap);
		}

		parentMap.put("EZM0111D010List", list);
		outputMap.put("EZM0111D010", parentMap);

		return outputMap;

	}

	/**
	 * サービス契約内訳＜eo光電話＞情報変更の上りマッピングをする（ｅｏ光電話オプション登録ＣＣ）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0191C012(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();
		String bnp_familyname_kana = "";
		String bnp_firstname_kana = "";
		String bnpname_kana = "";
		String bnp_familyname = "";
		String bnp_firstname = "";
		String bnpname = "";

		// 番ポNTT対応 T.Fujita Add Start
		String emg_bnpname = "";
		String emg_familyname = "";
		String emg_firstname = "";
		String emg_familyname_kana = "";
		String emg_firstname_kana = "";
		// 番ポNTT対応 T.Fujita Add End

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// eo光電話
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);
		// 契約種別
		String keiSbt = web_new_infobean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		String bnp_um1 = tel_infobean1.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);
		String bnp_um2 = tel_infobean2.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);

		// 番号ポータビリティ情報フラグを設定します。
		boolean bnp_flg1 = false;
		boolean bnp_flg2 = false;

		// 繰り返し回数を設定します。
		int count = 0;
		// 番号ポータビリティ利用有無（１番号目）
		if (SENTAKU.equals(bnp_um1))
		{
			bnp_flg1 = true;
			count = count + 1;
		}
		// 番号ポータビリティ利用有無（２番号目）
		if (SENTAKU.equals(bnp_um2))
		{
			bnp_flg2 = true;
			count = count + 1;
		}

		if (count == 0)
		{
			return null;
		}

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			X31SDataBeanAccess telBean_accesser = null;
			// 共有フォームBeanのアクセサを取得します。
			if (bnp_flg1)
			{
				telBean_accesser = tel_infobean1;
				bnp_flg1 = false;
			}
			else if (bnp_flg2)
			{
				telBean_accesser = tel_infobean2;
				bnp_flg2 = false;
			}

			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put("func_code", func_code);

			// サービス契約内訳番号 → サービス契約内訳番号
			childMap
					.put("svc_kei_ucwk_no", telBean_accesser.sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
			// 申込明細番号 → 申込明細番号
			childMap.put("mskm_dtl_no", telBean_accesser.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
			// 予約適用年月日⇒CC内で取得
			//String opeDate = JFUWebCommon.getSysDate();
			childMap.put("rsv_aply_ymd", "");
			// 異動区分
			childMap.put("ido_div", getIdoKbn(web_new_infobean));

			// 2012.1.22 番ポキャンセル対応 Start ***************************************************************
			String bnpCancel = telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_CANCEL_FLG_12, X31CWebConst.DATABEAN_GET_VALUE);
			if (!bmpCancelFlg.equals(bnpCancel))
			{

				// -----ANK-1461-00-00 2013/02/22 T.Fujita Start-----
				X31SDataBeanAccessArray keyakusya_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
				X31SDataBeanAccess keyakusya_infobean = keyakusya_info.getDataBean(0);

				X31SDataBeanAccessArray riyobasho_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.RIYOBASHO_INFO);//2013.03.01 add ohmura
				X31SDataBeanAccess riyobasho_infobean = riyobasho_info.getDataBean(0);//2013.03.01 add ohmura
				// -----ANK-1461-00-00 2013/02/22 T.Fujita End-----

				// 電話番号
				// 番ポ電話番号取得
				String telNo =
						telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TELNO1_12, X31CWebConst.DATABEAN_GET_VALUE)
								+ telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TELNO2_12, X31CWebConst.DATABEAN_GET_VALUE)
								+ telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TELNO3_12, X31CWebConst.DATABEAN_GET_VALUE);
				childMap.put("telno", telNo);
				// ＮＴＴ契約者郵便番号 → ＮＴＴ契約者郵便番号
				String bnp_zipFront = telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_PCD1_12, X31CWebConst.DATABEAN_GET_VALUE);
				String bnp_zipBack = telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_PCD2_12, X31CWebConst.DATABEAN_GET_VALUE);
				childMap.put("ntt_keisha_pcd", bnp_zipFront + bnp_zipBack);

				// 番ポNTT対応 T.Fujita Add Start
				// 利用場所用郵便番号 → 緊急通報用郵便番号
				String emg_zipFront = riyobasho_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE);
				String emg_zipBack = riyobasho_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE);

				childMap.put("emg_hosei_pcd", emg_zipFront + emg_zipBack);
				// 番ポNTT対応 T.Fujita Add End

				// ＮＴＴ契約者住所補記・建物名 → ＮＴＴ契約者住所補記・建物名
				childMap.put("ntt_keisha_adrttm", telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TTM_12, X31CWebConst.DATABEAN_GET_VALUE));
				// ＮＴＴ契約者住所補記・部屋番号 → ＮＴＴ契約者住所補記・部屋番号
				childMap.put("ntt_keisha_adrrm", telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_RRM_12, X31CWebConst.DATABEAN_GET_VALUE));
				if (keiSbt.equals(JFUStrConst.KEI_SBT_KOJINCD))
				{
					// ＮＴＴ契約者かな名 → ＮＴＴ契約者カナ名
					bnp_familyname_kana = telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_KSHKN_SEI_12, X31CWebConst.DATABEAN_GET_VALUE);
					bnp_firstname_kana = telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_KSHKN_NM_12, X31CWebConst.DATABEAN_GET_VALUE);
					bnpname_kana = JFUWebCommon.convFullHiraToFullKataV(bnp_familyname_kana + "　" + bnp_firstname_kana);
				}
				else if (keiSbt.equals(JFUStrConst.KEI_SBT_HOJINCD))
				{
					bnpname_kana =
							JFUWebCommon.convFullHiraToFullKataV(telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_KSHKN_HOJIN_12,
									X31CWebConst.DATABEAN_GET_VALUE));
				}
				childMap.put("ntt_ksh_kana", bnpname_kana);

				// 番ポNTT対応 T.Fujita Mod Start
				// ----- ST1-2012-0000156 2012/08/03 NRN番号設定対応-緊急通報カナ名対応 h.iwamoto START-----
				String emg_ksh_kana = "";
				if (keiSbt.equals(JFUStrConst.KEI_SBT_KOJINCD))
				{
					// ＮＴＴ契約者かな名 → ＮＴＴ契約者カナ名
					//bnp_familyname_kana = telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_KSHKN_SEI_12, X31CWebConst.DATABEAN_GET_VALUE);
					//bnp_firstname_kana = telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_KSHKN_NM_12, X31CWebConst.DATABEAN_GET_VALUE);
					// 番ポNTT対応 T.Fujita Add Start
					emg_familyname_kana = keyakusya_infobean.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE);
					emg_firstname_kana = keyakusya_infobean.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE);

					//emg_ksh_kana = JFUWebCommon.convFullHiraToFullKataV(bnp_familyname_kana + bnp_firstname_kana);
					emg_ksh_kana = JFUWebCommon.convFullHiraToFullKataV(emg_familyname_kana + JFUStrConst.SPACE + emg_firstname_kana);
				}
				else if (keiSbt.equals(JFUStrConst.KEI_SBT_HOJINCD))
				{
					//					emg_ksh_kana =
					//					JFUWebCommon.convFullHiraToFullKataV(telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_KSHKN_HOJIN_12,
					//								X31CWebConst.DATABEAN_GET_VALUE));

					emg_ksh_kana =
							JFUWebCommon.convFullHiraToFullKataV(keyakusya_infobean.sendMessageString(CommonInfoCFConst.HOJINKN_09,
									X31CWebConst.DATABEAN_GET_VALUE));

				}
				// 番ポNTT対応 T.Fujita Mod End
				childMap.put("emg_ksh_kana", emg_ksh_kana);
				// ----- ST1-2012-0000156 2012/08/03 NRN番号設定対応-緊急通報カナ名対応 h.iwamoto END-----

				if (keiSbt.equals(JFUStrConst.KEI_SBT_KOJINCD))
				{
					// ＮＴＴ契約者名 → ＮＴＴ契約者名
					bnp_familyname = telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_KSHNM_SEI_12, X31CWebConst.DATABEAN_GET_VALUE);
					bnp_firstname = telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_KSHNM_NM_12, X31CWebConst.DATABEAN_GET_VALUE);
					bnpname = bnp_familyname + "　" + bnp_firstname;

					// -----ANK-1461-00-00 2013/02/22 T.Fujita Start-----
					emg_familyname = keyakusya_infobean.sendMessageString(CommonInfoCFConst.KSHNM_SEI_09, X31CWebConst.DATABEAN_GET_VALUE);
					emg_firstname = keyakusya_infobean.sendMessageString(CommonInfoCFConst.KSHNM_NM_09, X31CWebConst.DATABEAN_GET_VALUE);
					emg_bnpname = emg_familyname + "　" + emg_firstname;
					childMap.put("emg_ksh_nm", emg_bnpname);

					// -----ANK-1461-00-00 2013/02/22 T.Fujita End-----

				}
				else if (keiSbt.equals(JFUStrConst.KEI_SBT_HOJINCD))
				{
					bnpname = telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_KSHNM_HOJIN_12, X31CWebConst.DATABEAN_GET_VALUE);

					// -----ANK-1461-00-00 2013/02/22 T.Fujita Start-----
					//2013.03.01 ohmura					String hojinnm = keyakusya_infobean.sendMessageString(CommonInfoCFConst.BMP_KSHNM_HOJIN_12, X31CWebConst.DATABEAN_GET_VALUE);
					String hojinnm = keyakusya_infobean.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_GET_VALUE);//2013.03.01 ohmura
					childMap.put("emg_ksh_nm", hojinnm);
					// -----ANK-1461-00-00 2013/02/22 T.Fujita End-----

				}
				childMap.put("ntt_keisha_nm", bnpname);

				// 番ポNTT対応 T.Fujita Add Start
				// 【内部障害】緊急通報先住所補記・建物名、緊急通報先住所補記・部屋番号対応
				// 利用場所情報.建物名
				String keyakusya_adrttm = riyobasho_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE);
				// 利用場所情報.部屋番号
				String keyakusya_adrrrm = riyobasho_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE);
				// 建物名と部屋番号を結合
				String kinkyuBuilding = keyakusya_adrttm + keyakusya_adrrrm;

				// 桁数判定
				if (!JFUWebCommon.isNull(kinkyuBuilding) && kinkyuBuilding.length() > 45)
				{
					// 45桁以上の場合
					// 利用場所.建物名 → 緊急通報用建物名
					childMap.put("emg_adrttm", kinkyuBuilding.substring(0, 45));

					// 利用場所.部屋番号 → 緊急通報用部屋番号
					if (kinkyuBuilding.length() > 60)
					{
						childMap.put("emg_adrrm", kinkyuBuilding.substring(45, 60));
					}
					else
					{
						childMap.put("emg_adrrm", kinkyuBuilding.substring(45, kinkyuBuilding.length()));
					}
				}
				else
				{
					// 45桁以下の場合
					// 利用場所.建物名 → 緊急通報用建物名
					childMap.put("emg_adrttm", kinkyuBuilding);
				}

				// -----ST2-2012-0001343 2012/07/09 h.iwamoto START-----
				// 通信事業者コード
				childMap.put("tsjgs_cd", telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TEL_SVCTK_JGS_12, X31CWebConst.DATABEAN_GET_VALUE));
				// -----ST2-2012-0001343 2012/07/09 h.iwamoto END-----
			}
			else
			{
				// 番ポキャンセル時、緊急通報先の情報を空白で上書かないようにマッピングを行う
				X31SDataBeanAccessArray keyakusya_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
				X31SDataBeanAccess keyakusya_infobean = keyakusya_info.getDataBean(0);

				X31SDataBeanAccessArray riyobasho_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.RIYOBASHO_INFO);//2013.03.01 add ohmura
				X31SDataBeanAccess riyobasho_infobean = riyobasho_info.getDataBean(0);//2013.03.01 add ohmura

				String emg_zipFront = riyobasho_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE);
				String emg_zipBack = riyobasho_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE);

				childMap.put("emg_hosei_pcd", emg_zipFront + emg_zipBack);

				String emgKshKana = "";
				if (keiSbt.equals(JFUStrConst.KEI_SBT_KOJINCD))
				{
					// ＮＴＴ契約者かな名 → ＮＴＴ契約者カナ名
					emg_familyname_kana = keyakusya_infobean.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE);
					emg_firstname_kana = keyakusya_infobean.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE);
					emgKshKana = JFUWebCommon.convFullHiraToFullKataV(emg_familyname_kana + JFUStrConst.SPACE + emg_firstname_kana);

					emg_familyname = keyakusya_infobean.sendMessageString(CommonInfoCFConst.KSHNM_SEI_09, X31CWebConst.DATABEAN_GET_VALUE);
					emg_firstname = keyakusya_infobean.sendMessageString(CommonInfoCFConst.KSHNM_NM_09, X31CWebConst.DATABEAN_GET_VALUE);
					emg_bnpname = emg_familyname + JFUStrConst.SPACE + emg_firstname;
					childMap.put("emg_ksh_nm", emg_bnpname);
				}
				else if (keiSbt.equals(JFUStrConst.KEI_SBT_HOJINCD))
				{
					emgKshKana =
							JFUWebCommon.convFullHiraToFullKataV(keyakusya_infobean.sendMessageString(CommonInfoCFConst.HOJINKN_09,
									X31CWebConst.DATABEAN_GET_VALUE));
					String hojinnm = keyakusya_infobean.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_GET_VALUE);//2013.03.01 ohmura
					childMap.put("emg_ksh_nm", hojinnm);
				}
				childMap.put("emg_ksh_kana", emgKshKana);

				// 利用場所情報.建物名
				String keyakusya_adrttm = riyobasho_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE);
				// 利用場所情報.部屋番号
				String keyakusya_adrrrm = riyobasho_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE);
				// 建物名と部屋番号を結合
				String kinkyuBuilding = keyakusya_adrttm + keyakusya_adrrrm;

				// 桁数判定
				if (!JFUWebCommon.isNull(kinkyuBuilding) && kinkyuBuilding.length() > 45)
				{
					// 45桁以上の場合
					// 利用場所.建物名 → 緊急通報用建物名
					childMap.put("emg_adrttm", kinkyuBuilding.substring(0, 45));

					// 利用場所.部屋番号 → 緊急通報用部屋番号
					if (kinkyuBuilding.length() > 60)
					{
						childMap.put("emg_adrrm", kinkyuBuilding.substring(45, 60));
					}
					else
					{
						childMap.put("emg_adrrm", kinkyuBuilding.substring(45, kinkyuBuilding.length()));
					}
				}
				else
				{
					// 45桁以下の場合
					// 利用場所.建物名 → 緊急通報用建物名
					childMap.put("emg_adrttm", kinkyuBuilding);
				}

			}

			/* 2012/11/23 IT2-2012-0001783 Y.Saitou MOD */
			// -----IT2-2012-0001619 2012/11/01 Yano START-----
			// 緊急通報用契約者名の個別指定は行わないため、当該項目は0固定
			// 緊急通報用契約者個別指定フラグ
			childMap.put("emg_ksh_ksitei_flg", "0");
			// -----IT2-2012-0001619 2012/11/01 Yano END-----

			// 番ポ有無
			String useBmp = telBean_accesser.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);
			if (bmpCancelFlg.equals(bnpCancel))
			{
				useBmp = bmpUm_0;
			}
			childMap.put("bmp_um", useBmp);
			// 2012.1.22 番ポキャンセル対応 End *****************************************************************

			// 更新年月日時分秒(更新前)
			childMap.put("upd_dtm_bf", telBean_accesser.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_GET_VALUE));

			// 同番移転判定コード 0:未設定を設定する。
			childMap.put("dobaniten_jdg_cd", JFUStrConst.CD01281_0);

			// 同番移転申込有無
			if (JFUStrConst.USE_BMP_USE.equals(useBmp))
			{
				String bmp_ad_choice = telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_AD_CHOICE_12, X31CWebConst.DATABEAN_GET_VALUE);
				if (JFUStrConst.BMP_USE_PLC_CD_GENZAI.equals(bmp_ad_choice))
				{
					childMap.put("dobaniten_mskm_um", JFUStrConst.CD00002_0);
				}
				else if (JFUStrConst.BMP_USE_PLC_CD_HIKKOSHI.equals(bmp_ad_choice))
				{
					childMap.put("dobaniten_mskm_um", JFUStrConst.CD00002_1);
				}
			}
			// 同番移転手続実施者識別コード
			if (JFUStrConst.USE_BMP_USE.equals(useBmp))
			{
				// 引越し先で利用の場合のみ設定する。
				String bmp_ad_choice = telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_AD_CHOICE_12, X31CWebConst.DATABEAN_GET_VALUE);
				if (JFUStrConst.BMP_USE_PLC_CD_HIKKOSHI.equals(bmp_ad_choice))
				{
// ANK-4494-00-00_【eo定期】双方向番ポ対応 MOD START
//					boolean iten_ttdk =
//							telBean_accesser.sendMessageBoolean(CommonInfoCFConst.NTT_NO_ITEN_TTDK_CHOICE_12, X31CWebConst.DATABEAN_GET_VALUE);
//					if (iten_ttdk)
//					{
//						childMap.put("dobaniten_ttdk_jssis_skcd", JFUStrConst.CD01658_1);
//					}
//					else
//					{
//						childMap.put("dobaniten_ttdk_jssis_skcd", JFUStrConst.CD01658_2);
//					}
					childMap.put("dobaniten_ttdk_jssis_skcd", JFUStrConst.CD01658_2);
// ANK-4494-00-00_【eo定期】双方向番ポ対応 MOD END
				}
			}
			// 同番移転自動連携候補抽出済フラグ
			if (JFUStrConst.USE_BMP_USE.equals(useBmp))
			{
				childMap.put("dbnitn_at_rnkkh_cst_zm_flg", JFUStrConst.CD00581_0);
			}

			list.add(childMap);
		}

		parentMap.put("EKK0191C012List", list);
		outputMap.put("EKK0191C012", parentMap);

		return outputMap;
	}

	/**
	 * オプションサービス契約＜電話＞登録の上りマッピングをする（ｅｏ光電話オプション登録ＣＣ）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0371D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// eo光電話
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);

		/*
		 * ■判定条件■ 
		 * 発信者番号通知(1)、 発信者番号表示(1)、転送電話サービス(1)、 
		 * 発信者番号通知(2) 発信者番号表示(2)、転送電話サービス(2) 計 最大6件
		//【IT2-2012-0001829】オプションサービス契約への割込電話対応 >>>
		 * 	割込電話(1) 割込電話(2)を追加
		//【IT2-2012-0001829】オプションサービス契約への割込電話対応 <<<
		 */
		String hassinsh_tuchi1 = tel_infobean1.sendMessageString(CommonInfoCFConst.HASHINNO_TCH_12, X31CWebConst.DATABEAN_GET_VALUE);
		String hassinsh_hyoji1 = tel_infobean1.sendMessageString(CommonInfoCFConst.HASHINNO_DSP_12, X31CWebConst.DATABEAN_GET_VALUE);
		String forward_tel1 = tel_infobean1.sendMessageString(CommonInfoCFConst.FORWARD_TEL_12, X31CWebConst.DATABEAN_GET_VALUE);
		String hassinsh_tuchi2 = tel_infobean2.sendMessageString(CommonInfoCFConst.HASHINNO_TCH_12, X31CWebConst.DATABEAN_GET_VALUE);
		String hassinsh_hyoji2 = tel_infobean2.sendMessageString(CommonInfoCFConst.HASHINNO_DSP_12, X31CWebConst.DATABEAN_GET_VALUE);
		String forward_tel2 = tel_infobean2.sendMessageString(CommonInfoCFConst.FORWARD_TEL_12, X31CWebConst.DATABEAN_GET_VALUE);
		//【IT2-2012-0001829】オプションサービス契約への割込電話対応 >>>
		String warikomi_tel1 = tel_infobean1.sendMessageString(CommonInfoCFConst.WARIKOMI_TEL_12, X31CWebConst.DATABEAN_GET_VALUE);
		String warikomi_tel2 = tel_infobean2.sendMessageString(CommonInfoCFConst.WARIKOMI_TEL_12, X31CWebConst.DATABEAN_GET_VALUE);
		//【IT2-2012-0001829】オプションサービス契約への割込電話対応 <<<
		// ANK-2056-00-00 start
		String ease_pack1 = tel_infobean1.sendMessageString(CommonInfoCFConst.EASE_PACK_12, X31CWebConst.DATABEAN_GET_VALUE);
		String eohtl_packthree1 = tel_infobean1.sendMessageString(CommonInfoCFConst.EOHTL_PACK3_12, X31CWebConst.DATABEAN_GET_VALUE);
		String eohtl_packseven1 = tel_infobean1.sendMessageString(CommonInfoCFConst.EOHTL_PACK7_12, X31CWebConst.DATABEAN_GET_VALUE);
		String ease_pack2 = tel_infobean2.sendMessageString(CommonInfoCFConst.EASE_PACK_12, X31CWebConst.DATABEAN_GET_VALUE);
		String eohtl_packthree2 = tel_infobean2.sendMessageString(CommonInfoCFConst.EOHTL_PACK3_12, X31CWebConst.DATABEAN_GET_VALUE);
		String eohtl_packseven2 = tel_infobean2.sendMessageString(CommonInfoCFConst.EOHTL_PACK7_12, X31CWebConst.DATABEAN_GET_VALUE);
		// ANK-2056-00-00 end

		// 電話オプションフラグを設定します。
		boolean tuchi_flg1 = false;
		boolean hyoji_flg1 = false;
		boolean tenso_flg1 = false;
		boolean tuchi_flg2 = false;
		boolean hyoji_flg2 = false;
		boolean tenso_flg2 = false;

		//【IT2-2012-0001829】オプションサービス契約への割込電話対応 >>>
		boolean warikomi_flg1 = false;
		boolean warikomi_flg2 = false;
		//【IT2-2012-0001829】オプションサービス契約への割込電話対応 <<<

		// ANK-2056-00-00 start
		boolean meiwaku_flg1 = false;
		boolean sitei_flg1 = false;
		boolean easeSendRecv_flg1 = false;

		boolean meiwaku_flg2 = false;
		boolean sitei_flg2 = false;
		boolean easeSendRecv_flg2 = false;
		// ANK-2056-00-00 end

		// 繰り返し回数を設定します。
		int count = 0;
		// 発信者番号通知１
		if (JFUStrConst.HASHINNO_TCH_CHOICE.equals(hassinsh_tuchi1))
		{
			tuchi_flg1 = true;
			count = count + 1;
		}
		// 発信者番号表示１
		if (JFUStrConst.HASHINNO_DSP_CHOICE.equals(hassinsh_hyoji1) 
				|| JFUStrConst.EASE_PACK_CHOICE.equals(ease_pack1)
				|| JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree1)
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven1))
		{
			hyoji_flg1 = true;
			count = count + 1;
		}
		// 発信者番号通知２
		if (JFUStrConst.HASHINNO_TCH_CHOICE.equals(hassinsh_tuchi2))
		{
			tuchi_flg2 = true;
			count = count + 1;
		}
		// 発信者番号表示２
		if (JFUStrConst.HASHINNO_DSP_CHOICE.equals(hassinsh_hyoji2)
				|| JFUStrConst.EASE_PACK_CHOICE.equals(ease_pack2)
				|| JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree2)
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven2))
		{
			hyoji_flg2 = true;
			count = count + 1;
		}

		// 転送電話サービス１
		if (JFUStrConst.FORWARD_TEL_CHOICE.equals(forward_tel1) 
				|| JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree1)
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven1))
		{
			tenso_flg1 = true;
			count = count + 1;
		}
		// 転送電話サービス２
		if (JFUStrConst.FORWARD_TEL_CHOICE.equals(forward_tel2)
				|| JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree2)
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven2))
		{
			tenso_flg2 = true;
			count = count + 1;
		}
		//【IT2-2012-0001829】オプションサービス契約への割込電話対応 >>>
		// 割込電話１
		if (JFUStrConst.WARIKOMI_TEL_CHOICE.equals(warikomi_tel1)
				|| JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree1)
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven1))
		{
			warikomi_flg1 = true;
			count = count + 1;
		}
		// 割込電話２
		if (JFUStrConst.WARIKOMI_TEL_CHOICE.equals(warikomi_tel2)
				|| JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree2)
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven2))
		{
			warikomi_flg2 = true;
			count = count + 1;
		}
		// あんしん発着信サービス１
		if (JFUStrConst.EASE_SEND_RECV_CHOICE.equals(ease_pack1))
		{
			easeSendRecv_flg1 = true;
			count = count + 1;
		}
		// あんしん発着信サービス２
		if (JFUStrConst.EASE_SEND_RECV_CHOICE.equals(ease_pack2))
		{
			easeSendRecv_flg2 = true;
			count = count + 1;
		}
		//【IT2-2012-0001829】オプションサービス契約への割込電話対応 <<<
		// ANK-2056-00-00 start

		// あんしん電話パック_1の残り
		if (JFUStrConst.EASE_PACK_CHOICE.equals(ease_pack1))
		{
			meiwaku_flg1 = true;
			sitei_flg1 = true;
			count = count + 2;
		}
		// eo光電話パック７_1の残り
		if (JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven1))
		{
			meiwaku_flg1 = true;
			sitei_flg1 = true;
			count = count + 2;
		}
		// あんしん電話パック_2の残り
		if (JFUStrConst.EASE_PACK_CHOICE.equals(ease_pack2))
		{
			meiwaku_flg2 = true;
			sitei_flg2 = true;
			count = count + 2;
		}
		// eo光電話パック７_2の残り
		if (JFUStrConst.EOHTL_PACK7_CHOICE.equals(eohtl_packseven2))
		{
			meiwaku_flg2 = true;
			sitei_flg2 = true;
			count = count + 2;
		}
		// ANK-2056-00-00 end

		if (count == 0)
		{
			return null;
		}

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			X31SDataBeanAccess telBean_accesser = null;
			// 共有フォームBeanのアクセサを取得します。
			//【IT2-2012-0001829】オプションサービス契約への割込電話対応 >>>
			// ANK-2056-00-00 start
			if (tuchi_flg1 || hyoji_flg1 || warikomi_flg1 ||  tenso_flg1 || meiwaku_flg1 || sitei_flg1 || easeSendRecv_flg1)
			//【IT2-2012-0001829】オプションサービス契約への割込電話対応 <<<
			// ANK-2056-00-00 end
			{
				telBean_accesser = tel_infobean1;
			}
			//【IT2-2012-0001829】オプションサービス契約への割込電話対応 >>>
			// ANK-2056-00-00 start
			else if (tuchi_flg2 || hyoji_flg2 || warikomi_flg2 || tenso_flg2 || meiwaku_flg2 || sitei_flg2 || easeSendRecv_flg2)
			//【IT2-2012-0001829】オプションサービス契約への割込電話対応 <<<
			// ANK-2056-00-00 end
			{
				telBean_accesser = tel_infobean2;
			}

			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put("func_code", func_code);

			if (tuchi_flg1)
			{
				// 固定"B022" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B022);
				// 固定"B26" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B26);
				// 固定"PB2601" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2601);

				tuchi_flg1 = false;
			}
			else if (hyoji_flg1)
			{
				// 固定"B025" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B025);
				// 固定"B29" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B29);
				// 固定"PB2901" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2901);

				hyoji_flg1 = false;
			}
			//【IT2-2012-0001829】オプションサービス契約への割込電話対応 >>>
			//「IT2-2012-0001959」対応（サービス契約内訳番号の設定） で場所移動 >>>
			else if (warikomi_flg1)
			{
				// 固定"B023" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B023);
				// 固定"B27" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B27);
				// 固定"PB2701" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2701);

				warikomi_flg1 = false;
			}
			//「IT2-2012-0001959」対応（サービス契約内訳番号の設定） で場所移動 <<<
			//【IT2-2012-0001829】オプションサービス契約への割込電話対応 <<<
			// ANK-2056-00-00 start
			else if (tenso_flg1)
			{
				// 固定"B024" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B024);
				// 固定"B28" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B28);
				// 固定"PB2801" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2801);

				tenso_flg1 = false;
			}
			else if (meiwaku_flg1)
			{
				// 固定"B026" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B026);
				// 固定"B30" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B30);
				// 固定"PB3001" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB3001);

				meiwaku_flg1 = false;
			}
			else if(sitei_flg1)
			{
				// 固定"B027" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B027);
				// 固定"B31" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B31);
				// 固定"PB3101" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB3101);

				sitei_flg1 = false;
			}
			else if(easeSendRecv_flg1)
			{
				// 固定"B135" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B135);
				// 固定"BE6" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_BE6);
				// 固定"PBE601" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PBE601);

				easeSendRecv_flg1 = false;
			}
			// ANK-2056-00-00 end
			else if (tuchi_flg2)
			{
				// 固定"B022" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B022);
				// 固定"B26" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B26);
				// 固定"PB2601" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2601);

				tuchi_flg2 = false;
			}
			else if (hyoji_flg2)
			{
				// 固定"B025" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B025);
				// 固定"B29" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B29);
				// 固定"PB2901" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2901);

				hyoji_flg2 = false;
			}
			//【IT2-2012-0001829】オプションサービス契約への割込電話対応 >>>
			else if (warikomi_flg2)
			{
				// 固定"B023" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B023);
				// 固定"B27" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B27);
				// 固定"PB2701" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2701);

				warikomi_flg2 = false;
			}
			//【IT2-2012-0001829】オプションサービス契約への割込電話対応 <<<
			// ANK-2056-00-00 start
			else if (tenso_flg2)
			{
				// 固定"B024" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B024);
				// 固定"B28" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B28);
				// 固定"PB2801" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB2801);

				tenso_flg2 = false;
			}
			else if (meiwaku_flg2){
				// 固定"B026" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B026);
				// 固定"B30" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B30);
				// 固定"PB3001" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB3001);

				meiwaku_flg2 = false;
			}
			else if(sitei_flg2)
			{
				// 固定"B027" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B027);
				// 固定"B31" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B31);
				// 固定"PB3101" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB3101);

				sitei_flg2 = false;
			}
			else if(easeSendRecv_flg2)
			{
				// 固定"B135" → オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B135);
				// 固定"BE6" →料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_BE6);
				// 固定"PBE601" → 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PBE601);

				easeSendRecv_flg2 = false;
			}
			// ANK-2056-00-00 end

			// "03"固定（サービス契約内訳） → eo光電話マップ.親契約識別コード
			childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_03);
			// サービス契約内訳番号
			childMap.put("svc_kei_ucwk_no", telBean_accesser.sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
			// ＳＹＳＩＤ
			childMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
			// 申込明細番号
			childMap.put("mskm_dtl_no", telBean_accesser.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
			// 異動区分
			childMap.put("ido_div", getIdoKbn(web_new_infobean));
			// 請求契約番号
			childMap.put("seiky_kei_no", getSeikyKeiNo(cash_infobean));
			// 更新年月日時分秒(更新前)
			childMap.put("upd_dtm_bf", telBean_accesser.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_GET_VALUE));

			list.add(childMap);
		}

		parentMap.put("EKK0371D010List", list);
		outputMap.put("EKK0371D010", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（eo光テレビオプション登録）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0381D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約者情報
		//		X31SDataBeanAccess contract_infobean = getKeiyakuinfo(web_new_infobean);
		// 契約サービス
		X31SDataBeanAccess contractSvc_infobean = getKeiyakusvcinfo(web_new_infobean);
		// 光テレビ
		X31SDataBeanAccess tv_infobean = getEotv(web_new_infobean);
		// 利用場所情報
		//		X31SDataBeanAccess usePlace_infobean = getRiyobasyoinfo(web_new_infobean);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);

		String tv_sel = contractSvc_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
		String tv_comp = tv_infobean.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE);
		String tv_course = tv_infobean.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE);
		String tv_flg = "";

// ANK-4592-00-00 MOD START
		if (tv_sel.equals(SENTAKU) && tv_comp.equals(JFUStrConst.TV_COURSE_KCAT) && (tv_course.equals(JFUStrConst.EO_TV_COURSE_BASIC)
				|| tv_course.equals(JFUStrConst.EO_TV_COURSE_CS_PRE) || tv_course.equals(JFUStrConst.EO_TV_COURSE_CS_BAS)))
// ANK-4592-00-00 MOD END
		{
			tv_flg = "1";
		}

		// "選択サービス(テレビ)"が"1"(選択)かつ、"テレビコース"が"1"(K-CAT)かつ、
		// "テレビコース(eo光テレビ入力)"が"2"(ベーシックHD、プレミアムHD)の場合、または"4"(CSベーシック)または"5"(CSプレミアム)の時にマップを作成する
		if (!tv_flg.equals("1"))
		{
			return null;
		}

		// ガイド誌が0の場合は処理終了
		String guidemg_cnt = tv_infobean.sendMessageString(CommonInfoCFConst.GUIDEMG_CNT_13, X31CWebConst.DATABEAN_GET_VALUE);
		if (guidemg_cnt.equals("0"))
		{
			return null;
		}

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// オプションサービスコード → オプションサービスコード ケーブルガイド誌
		parentMap.put("op_svc_cd", JFUStrConst.KK0821_OP_SVC_CD_B068);
		// 料金コースコード → 料金コースコード
		parentMap.put("pcrs_cd", JFUStrConst.KK0791_PCRS_CD_B36);
		// 料金プランコード → 料金プランコード
		parentMap.put("pplan_cd", JFUStrConst.KK0591_PPLAN_CD_PB3601);
		// ■固定"01"（サービス契約） → 親契約識別コード
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_01);
		// eo光テレビ.サービス契約番号 → サービス契約番号
		parentMap.put("svc_kei_no", tv_infobean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE));
		/*
		 * eo光テレビ.サービス契約内訳番号 → サービス契約内訳番号
		 * →テレビのオプションサービスはサービス契約内訳ではなく、サービス契約に紐づくため、修正
		 */
		// parentMap.put("svc_kei_ucwk_no",
		// tv_infobean.sendMessageString("サービス契約内訳番号",
		// X31CWebConst.DATABEAN_GET_VALUE));
		// ＳＹＳＩＤ
		parentMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// eo光テレビ.申込明細番号 → 申込明細番号
		parentMap.put("mskm_dtl_no", tv_infobean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_13, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(web_new_infobean));
		// eo光テレビ.ガイド誌数 → ケーブルガイド申込数
		parentMap.put("cable_guide_mskm_cnt", tv_infobean.sendMessageString(CommonInfoCFConst.GUIDEMG_CNT_13, X31CWebConst.DATABEAN_GET_VALUE));

		// ST1-2013-0000253  2013/02/28 Otsuka start 氏名は登録しない
		// 契約者情報.氏名（姓） → ガイド誌送付先名
		//		parentMap.put("guidemg_sohus_nm", getKshnm(web_new_infobean, contract_infobean));
		// 契約者情報.氏名かな（姓） → ガイド誌送付先カナ名
		//		parentMap.put("guidemg_sohus_kana", getKshnmKna(web_new_infobean, contract_infobean));
		// ST1-2013-0000253  2013/02/28 Otsuka end

		/* 2012/10/29 Y.Saitou IT1-2012-0001083 DEL-START */
		//		// 利用場所情報.郵便番号（上）/（下） → ガイド誌送付先郵便番号
		//		String contract_zipFront = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE);
		//		String contract_zipBack = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE);
		//		parentMap.put("guidemg_sohus_pcd", contract_zipFront + contract_zipBack);
		//		// 利用場所情報.建物名 → ガイド誌送付先住所補記・建物名
		//		parentMap
		//				.put("guidemg_sohus_adrttm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
		//		// 利用場所情報.部屋番号 → ガイド誌送付先住所補記・部屋番号
		//		parentMap.put("guidemg_sohus_adrrm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
		/* 2012/10/29 Y.Saitou IT1-2012-0001083 DEL-END */

		// ST1-2013-0000253  2013/02/28 Otsuka start 電話番号は登録しない
		// 利用場所情報.電話番号 → ガイド誌送付先電話番号
		//		String tel1 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08, X31CWebConst.DATABEAN_GET_VALUE);
		//		String tel2 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO2_08, X31CWebConst.DATABEAN_GET_VALUE);
		//		String tel3 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO3_08, X31CWebConst.DATABEAN_GET_VALUE);
		//		parentMap.put("guidemg_sohus_telno", tel1 + tel2 + tel3);
		// ST1-2013-0000253  2013/02/28 Otsuka end
		// 請求契約番号
		parentMap.put("seiky_kei_no", getSeikyKeiNo(cash_infobean));

		// 2012.09.20追加 Otsuka Start
		// ガイド誌送付先住所手動入力フラグ → サービス契約＜eo光TV＞登録SCマップ.ガイド誌送付先住所手動入力フラグ
		parentMap.put("gudmg_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
		// 2012.09.20追加 Otsuka end

		/* 2012/10/29 Y.Saitou IT1-2012-0001083 ADD */
		// ガイド誌送付先個別指定フラグ → サービス契約＜eo光TV＞登録SCマップ.ガイド誌送付先個別指定フラグ
		parentMap.put("guidemg_shs_ksitei_flg", JFUStrConst.CD00002_0);

		// 更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", tv_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_13, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0381D010", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス契約情報変更の上りマッピングをする（ｅｏモバイル利用場所登録）
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 * @exception Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341C230(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		String taknkikiModelCd = ""; // 宅内機器型式コード
		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess contract_infobean = getKeiyakuinfo(web_new_infobean);
		// モバイル
		X31SDataBeanAccess mobile_infobean = getMobile(web_new_infobean);
		X31SDataBeanAccessArray arrmobile = mobile_infobean.getDataBeanArray(CommonInfoCFConst.KIKI_INFO_MOBILE);
		if (arrmobile.getCount() == 0)
		{
			arrmobile.addDataBean();
		}
		// X31SDataBeanAccess mobKikiList = arrmobile.getDataBean(0);

		// 利用場所情報
		X31SDataBeanAccess usePlace_infobean = getRiyobasyoinfo(web_new_infobean);
		// モバイル
		X31SDataBeanAccess bnMobile = getMobile(web_new_infobean);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(web_new_infobean);
		// -----IT2-2012-0000831 2012/06/16 全戸一括ハイブリッド時 h.iwamoto START-----
		// マンション情報
		X31SDataBeanAccess bnMansion = getMansioninfo(web_new_infobean);
		// 加入契約申込条件コード取得
		String knykei_mskm_joken_cd = bnMansion.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
		// -----IT2-2012-0000831 2012/06/16 全戸一括ハイブリッド時 h.iwamoto END-----

		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(web_new_infobean);

		// モバイル機器送付先選択
		String mbl_kk_sfs = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_SBT_14, X31CWebConst.DATABEAN_GET_VALUE);
		// モバイルコース
		String mob_crs = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
		// ＷｉＭＡＸＲＯＭ
		String wmxRom = bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE);

		// IT1-2012-0001348 モバイル申込不備対応
		// 販売タイプ
		String hanbaiType = web_new_infobean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// IT1-2012-0001348

		// モバイル機器送付先選択に値がないまたは、モバイル機器がない場合処理終了
		if (mbl_kk_sfs.length() == 0 || mob_crs.equals(JFUStrConst.MOBILE_COURSE_WIFI)
				|| (mob_crs.equals(JFUStrConst.MOBILE_COURSE_WIMAX) && wmxRom.equals(JFUStrConst.WIMAXROM_WHITE)))
		{
			return null;
		}

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// -----IT2-2012-0000831 2012/06/16 ハイブリッドの判定を追加 h.iwamoto START-----
		if (mob_crs.equals(JFUStrConst.MOBILE_COURSE_3G_21M) || mob_crs.equals(JFUStrConst.MOBILE_COURSE_3G_7_2M)
				|| mob_crs.equals(JFUStrConst.MOBILE_COURSE_WIFI) || mob_crs.equals(JFUStrConst.MOBILE_COURSE_WIMAX)
				|| mob_crs.equals(JFUStrConst.MOBILE_COURSE_3G_HHB) || mob_crs.equals(JFUStrConst.MOBILE_COURSE_3G_21M_HHB))
		{
			// -----IT2-2012-0000831 2012/06/16 ハイブリッドの判定を追加 h.iwamoto START-----

			// -----IT2-2012-0000884 2012/06/17 h.iwamoto 機器登録が暫定であった為修正する START-----
			if (JFUStrConst.KNYKEI_MSKM_JOKEN_IKT.equals(knykei_mskm_joken_cd) && mob_crs.equals(JFUStrConst.MOBILE_COURSE_3G_HHB))
			{
				// 全戸一括＋ハイブリッド時はJFUAddSvcKeiMobCC内でマッピングするので必ず要素を2個作る
				for (int i = 0; i < 2; i++)
				{
					childMap = new HashMap();

					// 機器提供サービス契約番号
					childMap.put("kktk_svc_kei_no", "");
					// 更新年月日時分秒（機器提供サービス契約）
					childMap.put("upd_dtm_bf", "");

					// 機器送付先名
					childMap.put("kiki_sohus_nm", getKshnm(web_new_infobean, contract_infobean));
					// 機器送付先カナ名
					childMap.put("kiki_sohus_kana", getKshnmKna(web_new_infobean, contract_infobean));
					// 機器送付先郵便番号
					String zipFront = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD1_14, X31CWebConst.DATABEAN_GET_VALUE);
					String zipBack = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD2_14, X31CWebConst.DATABEAN_GET_VALUE);
					String zip = JPCEditString.concatPcd(zipFront, zipBack);
					childMap.put("kiki_sohus_pcd", zip);
					// 機器送付先住所補記・建物名
					childMap.put("kiki_sohus_adrttm", mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TTM_14,
							X31CWebConst.DATABEAN_GET_VALUE));
					// 機器送付先住所補記・部屋番号
					childMap.put("kiki_sohus_adrrm", mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_RRM_14,
							X31CWebConst.DATABEAN_GET_VALUE));
					// 機器送付先電話番号 → 機器送付先電話番号★結合が必要
					String tel1 = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO1_14, X31CWebConst.DATABEAN_GET_VALUE);
					String tel2 = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO2_14, X31CWebConst.DATABEAN_GET_VALUE);
					String tel3 = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO3_14, X31CWebConst.DATABEAN_GET_VALUE);
					childMap.put("kiki_sohus_telno", tel1 + tel2 + tel3);
					// 機器送付先＿契約者住所差異フラグ
					String mobKkSbt = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_SBT_14, X31CWebConst.DATABEAN_GET_VALUE);
					// No 312 Otsuka 2013/01/28 start
					if (JFUStrConst.MOBILE_KIKI_SHOU_SBT_KEIYAKUSYA.equals(mobKkSbt))
					{
						// 差異なし
						mobKkSbt = JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0;
					}
					else
					{
						// 差異あり
						mobKkSbt = JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_1;
					}
					// No312 Otsuka 2013/01/28 end
					childMap.put("kiki_sohus_ksh_ad_sai_flg", mobKkSbt);
					// 機器提供種別コード
					childMap.put("kktk_sbt_cd", JFUStrConst.CD00212_01);
					// 販売種別コード
					childMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
					// 配送区分
					childMap.put("haiso_div", JFUStrConst.CD00020_00);

					/* 2013/02/14 KT1-2013-0000162 Y.Saitou DEL */

					// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
					// 住所未確定フラグ(モバイルの利用場所は"0"未確定固定です)
					childMap.put("ad_mi_fix_flg", "0");
					// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END
					// 異動区分
					childMap.put("ido_div", getIdoKbn(web_new_infobean));
					// 機器送付先個別指定フラグ
					childMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);

					// IT1-2012-0001348 モバイル申込登録不備対応 S.Otsuka start
					// コンシューマの場合
					if (JFUStrConst.HNBAI_TYPE_CON.equals(hanbaiType))
					{
						// 通信機器
						if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_21M))
						{
							// ルータタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_ROUTER))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_1");
							}
							// USBタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_USB))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_2");
							}
						}
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_7_2M))
						{
							// ルータタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_ROUTER))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_3");
							}
							// USBタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_USB))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_4");
							}
						}
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_WIMAX)
								&& bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
										JFUStrConst.WIMAXROM_BLACK))
						{
							// ルータタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_ROUTER))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_5");
							}
							// USBタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_USB))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_6");
							}
						}
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_HHB))
						{
							// ハイブリッドの場合
							if (i == 0)
							{
								// 宅内機器型式コード(poket wifi)
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_7");
							}
							else if (i == 1)
							{
								// 宅内機器型式コード(専用ドック)
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_8");
							}
						}
						// ----- IT1-2012-0001111 2012/10/05 h.iwamoto START -----
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_21M_HHB))
						{
							// 21Mハイブリッドの場合
							// 宅内機器型式コード
							taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_9");
						}
					}
					// 量販・訪販の場合
					else if (JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType) || JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbaiType))
					{
						// 通信機器
						if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_21M))
						{
							// ルータタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_ROUTER))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_1");
							}
							// USBタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_USB))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_2");
							}
						}
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_7_2M))
						{
							// ルータタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_ROUTER))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_3");
							}
							// USBタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_USB))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_4");
							}
						}
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_WIMAX)
								&& bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
										JFUStrConst.WIMAXROM_BLACK))
						{
							// ルータタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_ROUTER))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_5");
							}
							// USBタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_USB))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_6");
							}
						}
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_HHB))
						{
							// ハイブリッドの場合
							if (i == 0)
							{
								// 宅内機器型式コード(poket wifi)
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_7");
							}
							else if (i == 1)
							{
								// 宅内機器型式コード(専用ドック)
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_8");
							}
						}
						// ----- IT1-2012-0001111 2012/10/05 h.iwamoto START -----
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_21M_HHB))
						{
							// 21Mハイブリッドの場合
							// 宅内機器型式コード
							taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_9");
						}
					}
					// IT1-2012-0001348 モバイル申込登録不備対応 S.Otsuka end

					// ----- IT1-2012-0001111 2012/10/05 h.iwamoto END -----
					// 宅内機器型式コード
					childMap.put("taknkiki_model_cd", taknkikiModelCd);
					// 機器引当指定倉庫コード("000001")
					childMap.put("kiki_hkat_shitei_soko_cd", "000001");
					// 機器引当指定倉庫棚コード("000")
					childMap.put("kiki_hkat_shitei_skdn_cd", bnElseinfo.sendMessageString(CommonInfoCFConst.SHELF_CD_18,
							X31CWebConst.DATABEAN_GET_VALUE));
					// 機器製造番号
					childMap.put("kiki_seizo_no", "");
					// ----- IT1-2012-0001111 2012/10/05 h.iwamoto START -----
					// 機器送付先手動入力フラグ
					childMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
					// ----- IT1-2012-0001111 2012/10/05 h.iwamoto END -----

					list.add(childMap);
				}
			}
			else
			{
				// 全戸一括マンションでない場合は機器の登録数分だけ作成する。
				// モバイル機器リストは必ず1要素は作られているので、ハイブリッドでなくても問題ないが、今後機器が変更になった場合は対応が必要
				for (int i = 0; i < arrmobile.getCount(); i++)
				{
					childMap = new HashMap();
					// 機器リスト取得
					X31SDataBeanAccess mobKikiList = arrmobile.getDataBean(i);

					// 機器提供サービス契約番号
					childMap.put("kktk_svc_kei_no", mobKikiList.sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19,
							X31CWebConst.DATABEAN_GET_VALUE));
					// 更新年月日時分秒（機器提供サービス契約）
					childMap.put("upd_dtm_bf", mobKikiList.sendMessageString(CommonInfoCFConst.UPD_DTM_KKTK_SVC_KEI_19,
							X31CWebConst.DATABEAN_GET_VALUE));
					// 機器送付先名
					childMap.put("kiki_sohus_nm", getKshnm(web_new_infobean, contract_infobean));
					// 機器送付先カナ名
					childMap.put("kiki_sohus_kana", getKshnmKna(web_new_infobean, contract_infobean));
					// 機器送付先郵便番号
					String zipFront = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD1_14, X31CWebConst.DATABEAN_GET_VALUE);
					String zipBack = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_PCD2_14, X31CWebConst.DATABEAN_GET_VALUE);
					String zip = JPCEditString.concatPcd(zipFront, zipBack);
					childMap.put("kiki_sohus_pcd", zip);
					// 機器送付先住所補記・建物名
					childMap.put("kiki_sohus_adrttm", mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TTM_14,
							X31CWebConst.DATABEAN_GET_VALUE));
					// 機器送付先住所補記・部屋番号
					childMap.put("kiki_sohus_adrrm", mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_RRM_14,
							X31CWebConst.DATABEAN_GET_VALUE));
					// 機器送付先電話番号 → 機器送付先電話番号★結合が必要
					String tel1 = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO1_14, X31CWebConst.DATABEAN_GET_VALUE);
					String tel2 = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO2_14, X31CWebConst.DATABEAN_GET_VALUE);
					String tel3 = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_TELNO3_14, X31CWebConst.DATABEAN_GET_VALUE);
					childMap.put("kiki_sohus_telno", tel1 + tel2 + tel3);
					// 機器送付先＿契約者住所差異フラグ
					String mobKkSbt = mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_SBT_14, X31CWebConst.DATABEAN_GET_VALUE);
					if (JFUStrConst.MOBILE_KIKI_SHOU_SBT_KEIYAKUSYA.equals(mobKkSbt))
					{
						// 差異なし
						mobKkSbt = JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0;
					}
					else
					{
						// 差異あり
						mobKkSbt = JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_1;
					}
					childMap.put("kiki_sohus_ksh_ad_sai_flg", mobKkSbt);
					// 機器提供種別コード
					childMap.put("kktk_sbt_cd", JFUStrConst.CD00212_01);
					// 販売種別コード
					childMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
					// 配送区分
					childMap.put("haiso_div", JFUStrConst.CD00020_00);

					/* 2013/02/14 KT1-2013-0000162 Y.Saitou DEL */

					// 住所未確定フラグ
					childMap.put("ad_mi_fix_flg", getAdMiFixFlg(usePlace_infobean));
					// 異動区分
					childMap.put("ido_div", getIdoKbn(web_new_infobean));
					// 機器送付先個別指定フラグ
					childMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);

					// IT1-2012-0001348 モバイル申込登録不備対応 S.Otsuka start
					// コンシューマの場合
					if (JFUStrConst.HNBAI_TYPE_CON.equals(hanbaiType))
					{
						// 通信機器
						if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_21M))
						{
							// ルータタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_ROUTER))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_1");
							}
							// USBタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_USB))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_2");
							}
						}
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_7_2M))
						{
							// ルータタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_ROUTER))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_3");
							}
							// USBタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_USB))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_4");
							}
						}
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_WIMAX)
								&& bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
										JFUStrConst.WIMAXROM_BLACK))
						{

							// ルータタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_ROUTER))
							{

								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_5");
							}
							// USBタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_USB))
							{

								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_6");
							}
						}
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_HHB))
						{
							// ハイブリッドの場合
							if (i == 0)
							{
								// 宅内機器型式コード(poket wifi)
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_7");
							}
							else if (i == 1)
							{
								// 宅内機器型式コード(専用ドック)
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_8");
							}
						}
						// ----- IT1-2012-0001111 2012/10/05 h.iwamoto START -----
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_21M_HHB))
						{
							// 21Mハイブリッドの場合
							// 宅内機器型式コード
							taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_9");
						}
					}
					// 量販・訪販の場合
					else if (JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType) || JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbaiType))
					{
						// 通信機器
						if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_21M))
						{
							// ルータタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_ROUTER))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_1");
							}
							// USBタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_USB))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_2");
							}
						}
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_7_2M))
						{
							// ルータタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_ROUTER))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_3");
							}
							// USBタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_USB))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_4");
							}
						}
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_WIMAX)
								&& bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
										JFUStrConst.WIMAXROM_BLACK))
						{
							// ルータタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_ROUTER))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_5");
							}
							// USBタイプの場合
							if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.MOBILE_KIKI_USB))
							{
								// 宅内機器型式コード
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_6");
							}
						}
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_HHB))
						{
							// ハイブリッドの場合
							if (i == 0)
							{
								// 宅内機器型式コード(poket wifi)
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_7");
							}
							else if (i == 1)
							{
								// 宅内機器型式コード(専用ドック)
								taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_8");
							}
						}
						// ----- IT1-2012-0001111 2012/10/05 h.iwamoto START -----
						else if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.MOBILE_COURSE_3G_21M_HHB))
						{
							// 21Mハイブリッドの場合
							// 宅内機器型式コード
							taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_9");
						}
					}
					// IT1-2012-0001348 モバイル申込登録不備対応 S.Otsuka end

					// ----- IT1-2012-0001111 2012/10/05 h.iwamoto END -----
					// 宅内機器型式コード
					childMap.put("taknkiki_model_cd", taknkikiModelCd);
					// 機器引当指定倉庫コード("000001")
					childMap.put("kiki_hkat_shitei_soko_cd", "000001");
					// 機器引当指定倉庫棚コード("000")
					childMap.put("kiki_hkat_shitei_skdn_cd", bnElseinfo.sendMessageString(CommonInfoCFConst.SHELF_CD_18,
							X31CWebConst.DATABEAN_GET_VALUE));
					// 機器製造番号
					childMap.put("kiki_seizo_no", "");
					// ----- IT1-2012-0001111 2012/10/05 h.iwamoto START -----
					// 機器送付先手動入力フラグ
					childMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
					// ----- IT1-2012-0001111 2012/10/05 h.iwamoto END -----

					list.add(childMap);
				}
			}

			parentMap.put("kktk_svc_kei_info_chg_list", list);
			// -----IT2-2012-0000884 2012/06/17 h.iwamoto 機器登録が暫定であった為修正する END-----
		}
		outputMap.put("EKK0341C230", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（請求契約予約取消マップ）
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0491C220(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);

		// 支払方法引継
		String hikitugi = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法を引き継がない場合は、nullを返します。
		if (!hikitugi.equals(JFUStrConst.PAYWAY_CONTINUE_CONTINUE))
		{
			return null;
		}
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 請求契約番号(仮登録の請求契約番号)
		parentMap.put("seiky_kei_no", cash_infobean.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));
		// 世代登録年月日時分秒
		parentMap.put("gene_add_dtm", cash_infobean.sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_GET_VALUE));
		// 更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", cash_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0491C220", parentMap);

		return outputMap;
	}

	// 審査済クレジットカード登録は下に移動しました。
	/**
	 * 上りマッピングをする（審査済クレジットカード登録マップ）
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 * 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0521D020z(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		String crecardCompCd = "";
		String credit_no1 = "";
		String credit_no2 = "";
		String credit_no3 = "";
		String credit_no4 = "";
		String credit_no = "";
		String credit_kigenM = "";
		String credit_kigenY = "";
		String credit_kigen = "";
		String meigi_kana_sei = "";
		String meigi_kana_mei = "";
		String meigi = "";
		String crecardJigyoCd = "";
		String shikosakiCompCd = "";

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);

		// 支払方法引継
		String hikitugi = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		// 支払い方法
		String payway = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);

		// KAD-2012-0001381 Otsuka add 2012/10/29 start
		// 支払い方法を引き継ぐ場合または 支払い方法がクレジット払い以外の場合は、nullを返します。
		if (hikitugi.equals(JFUStrConst.PAYWAY_CONTINUE_CONTINUE) || !JFUStrConst.PAYWAY_CREDIT.equals(payway))
		{
			return null;
		}
		// KAD-2012-0001381 Otsuka add 2012/10/29 end

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		if (payway.equals(JFUStrConst.PAYWAY_CREDIT))
		{
			// 支払い方法がクレジットカードの場合
			// クレジットカード会社コード
			crecardCompCd = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_COMP_CD_15, X31CWebConst.DATABEAN_GET_VALUE);
			// クレジットカード番号
			credit_no1 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO1_15, X31CWebConst.DATABEAN_GET_VALUE);
			credit_no2 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO2_15, X31CWebConst.DATABEAN_GET_VALUE);
			credit_no3 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO3_15, X31CWebConst.DATABEAN_GET_VALUE);
			credit_no4 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO4_15, X31CWebConst.DATABEAN_GET_VALUE);
			credit_no = credit_no1 + credit_no2 + credit_no3 + credit_no4;

			// クレジットカード有効期限
			credit_kigenM = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_MONTH_15, X31CWebConst.DATABEAN_GET_VALUE);
			credit_kigenY = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_YEAR_15, X31CWebConst.DATABEAN_GET_VALUE);
			credit_kigen = credit_kigenY + credit_kigenM;

			// 仕向先会社コード(クレジット交換コード)
			shikosakiCompCd = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_SHIKOSAKI_COMP_CD_15, X31CWebConst.DATABEAN_GET_VALUE);

			// 2012/10/26 S.Yano クレジット名義人カナ名修正 MOD-S
			// クレジットカード名義カナ名
			meigi_kana_sei = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_SEI_15, X31CWebConst.DATABEAN_GET_VALUE);
			meigi_kana_mei = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_NM_15, X31CWebConst.DATABEAN_GET_VALUE);
			//meigi = meigi_kana_sei + meigi_kana_mei;
			if (meigi_kana_sei.length() > 0 && meigi_kana_mei.length() > 0)
			{
				meigi = meigi_kana_sei + JFUStrConst.SPACE + meigi_kana_mei;
			}
			else
			{
				//法人もしくはマンションの場合クレジット名義人を別項目で設定
				meigi = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_15, X31CWebConst.DATABEAN_GET_VALUE);
			}
			// 2012/10/26 S.Yano クレジット名義人カナ名修正 MOD-E

			// クレジット事業コード
			crecardJigyoCd = JFUStrConst.CD00420_2;

			// クレジットカード会社コード
			parentMap.put("crecard_comp_cd", crecardCompCd);
			// クレジット事業コード
			parentMap.put("crecard_jigyo_cd", crecardJigyoCd);
			// クレジットカード番号
			parentMap.put("crecard_no", credit_no);
			// クレジットカード有効期限
			parentMap.put("crecard_yk_kigen", credit_kigen);
			// クレジットカード名義カナ名
			parentMap.put("crecard_nm_kana", meigi);
			// 仕向先会社コード
			parentMap.put("shikosaki_comp_cd", shikosakiCompCd);
			// 異動区分
			parentMap.put("ido_div", getIdoKbn(web_new_infobean));
			// 支払い審査結果コード
			parentMap.put("pay_skekka_cd", "00");
			// システム日付年月日時分秒⇒CC内で取得
			//String opeDateTime = JFUWebCommon.getSysDateTimeStamp();
			// オーソリ確認年月日時分秒
			parentMap.put("authori_cfm_dtm", "");
			// オーソリ承認番号
			parentMap.put("authori_shonin_no", cash_infobean.sendMessageString(CommonInfoCFConst.CR_AUTHNUMBER_15, X31CWebConst.DATABEAN_GET_VALUE));

			outputMap.put("EKK0521D020", parentMap);
		}
		return outputMap;
	}

	/**
	 * 上りマッピングをする（請求支払先変更）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0491C240(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);
		// 支払方法引継
		String hikitugi = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		// 支払い方法
		String payway = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);

		//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 start
		// KAD-2012-0001022 Otsuka add 2012/10/29 start
		// 支払い方法を引き継ぐ場合は、nullを返します。(仮で作成したデータは無効フラグ1をたて、請求契約を課金先に紐付けるため)
		if (hikitugi.equals(JFUStrConst.PAYWAY_CONTINUE_CONTINUE))
		{
			return null;
		}
		// KAD-2012-0001022 Otsuka add 2012/10/29 end
		//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 end
		

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// 請求契約番号
		parentMap.put("seiky_kei_no", cash_infobean.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));
		
		//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 start
		if (JFUStrConst.PAYWAY_CREDIT.equals(payway)) {
			// クレジットの場合
			parentMap.put(SEIKY_WAY_CD, JFUStrConst.CD00166_4);
		} else {
			// 銀行口座、ゆうちょの場合
			
			// 口座振替フラグ
			String koufuriFlg = cash_infobean.sendMessageString(CommonInfoCFConst.KOUFURI_FLG_15, X31CWebConst.DATABEAN_GET_VALUE);
			
			// 口座振替フラグにより分岐
			if (!JFUStrConst.KOUFURI_YES.equals(koufuriFlg)) {
				// 請求書払いの場合
				parentMap.put(SEIKY_WAY_CD, JFUStrConst.CD00166_1);
				
			} else {
				String tmpBankCd = cash_infobean.sendMessageString(CommonInfoCFConst.BANK_CD_15, X31CWebConst.DATABEAN_GET_VALUE);
				// 金融機関コードにより分岐
				if (BANK_CD_POSTAL.equals(tmpBankCd)) {
					// ゆうちょ銀行の場合
					parentMap.put(SEIKY_WAY_CD, JFUStrConst.CD00166_3);
				} else {
					
					// ゆうちょ銀行以外の場合
					parentMap.put(SEIKY_WAY_CD, JFUStrConst.CD00166_2);
				}
			}
		}
		
		//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 end
		
		// 予約適用年月日⇒cc内で取得
		//String opeDate = JFUWebCommon.getSysDate();
		parentMap.put("rsv_aply_ymd", "");
		// 更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", cash_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_GET_VALUE));

		// -----ST2-2012-0001382(再修正) 2012/08/05 h.iwamoto START-----
		// 支払い方法がクレジットの場合のみ
		// 運用日付 ⇒ 請求契約登録マップ.初回支払申込書受領年月日
		//　ない場合は　空
		if (JFUStrConst.PAYWAY_CREDIT.equals(payway))
		{
			parentMap.put("first_pay_mskmsho_rcp_ymd", opeDate);
		}
		else
		{
			// 「OM-2015-0000840」口座振替での新規申込時に口座振替依頼書が同梱される 2015.04.22 FJ)矢野 start
			// 口座振替フラグ
			String koufuriFlg = cash_infobean.sendMessageString(CommonInfoCFConst.KOUFURI_FLG_15, X31CWebConst.DATABEAN_GET_VALUE);
			
			// 口座振替フラグにより分岐
			if (!JFUStrConst.KOUFURI_YES.equals(koufuriFlg)) {
				// 請求書払いの場合
				parentMap.put("first_pay_mskmsho_rcp_ymd", "");
				
			} else {
				// 銀行・ゆうちょの場合運用日を設定
				parentMap.put("first_pay_mskmsho_rcp_ymd", opeDate);
			}
			//parentMap.put("first_pay_mskmsho_rcp_ymd", "");
			// 「OM-2015-0000840」口座振替での新規申込時に口座振替依頼書が同梱される 2015.04.22 FJ)矢野 end
		}

		// 初回支払申込書送付要否 (空固定)
		parentMap.put("first_pay_mskmsho_sohu_yh", "");

		// -----ST2-2012-0001382(再修正) 2012/08/05 h.iwamoto END-----

		outputMap.put("EKK0491C240", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（請求契約内容変更）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0491C060(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(web_new_infobean);
		// 契約者情報
		X31SDataBeanAccess keiyakusvcinfo = getKeiyakusvcinfo(web_new_infobean);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(web_new_infobean);
		// 光電話情報
		X31SDataBeanAccess[] telInfoBean = getEotel(web_new_infobean);
		// 光テレビ情報
		X31SDataBeanAccess tvInfoBean = getEotv(web_new_infobean);
		// モバイル情報
		X31SDataBeanAccess mobileInfoBean = getMobile(web_new_infobean);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);
		// 支払方法引継
		String hikitugi = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		// 支払い方法
		String payway = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);

		//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 start
		// KAD-2012-0001022 Otsuka add 2012/10/29 start
		// 支払い方法を引き継ぐ場合は、nullを返します。(仮で作成したデータは無効フラグ1をたて、請求契約を課金先に紐付けるため)
		if (hikitugi.equals(JFUStrConst.PAYWAY_CONTINUE_CONTINUE))
		{
			return null;
		}
		// KAD-2012-0001022 Otsuka add 2012/10/29 end
		//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 end

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// 請求契約番号
		parentMap.put("seiky_kei_no", cash_infobean.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込明細番号
		// 選択サービス(ネット)
		String selectNet = keiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(電話)
		String selectTel = keiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(テレビ)
		String selectTv = keiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(モバイル)
		String selectMob = keiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_MOBILE_10, X31CWebConst.DATABEAN_GET_VALUE);
		String mskm_dtl_no = "";

		// ネットが選択されていた場合
		if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(selectNet))
		{
			mskm_dtl_no = bnEonet.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
		}
		// 電話が選択されていた場合
		else if (JFUStrConst.SELECT_SVC_TEL_CHOICE.equals(selectTel))
		{
			mskm_dtl_no = telInfoBean[0].sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_12, X31CWebConst.DATABEAN_GET_VALUE);
		}
		// テレビが選択されていた場合
		else if (JFUStrConst.SELECT_SVC_TV_CHOICE.equals(selectTv))
		{
			mskm_dtl_no = tvInfoBean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_13, X31CWebConst.DATABEAN_GET_VALUE);
		}
		// モバイルが選択されていた場合
		else if (JFUStrConst.SELECT_SVC_MOBILE_CHOICE.equals(selectMob))
		{
			mskm_dtl_no = mobileInfoBean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_14, X31CWebConst.DATABEAN_GET_VALUE);
		}

		parentMap.put("mskm_dtl_no", mskm_dtl_no);

		// 契約者と異なるフラグ
		String diffkei = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_SBT_DIFF_15, X31CWebConst.DATABEAN_GET_VALUE);
		// ＷＥＢ新規情報.契約種別
		String keiSbt = web_new_infobean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法がクレジットの場合
		if (JFUStrConst.PAYWAY_CREDIT.equals(payway))
		{
			String seikyKeiKana = "";
			if (JFUStrConst.S_ONE.equals(diffkei))
			{
				// クレジットカード名義カナ名
				String meigi_kana_sei = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_SEI_15, X31CWebConst.DATABEAN_GET_VALUE);
				String meigi_kana_mei = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_NM_15, X31CWebConst.DATABEAN_GET_VALUE);

				if (meigi_kana_sei.length() > 0 && meigi_kana_mei.length() > 0)
				{
					seikyKeiKana = meigi_kana_sei + JFUStrConst.SPACE + meigi_kana_mei;
				}
				else
				{
					//法人もしくはマンションの場合クレジット名義人を別項目で設定
					seikyKeiKana = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_15, X31CWebConst.DATABEAN_GET_VALUE);
				}

			}
			else
			{
				// WEB新規情報.契約種別によって、個人/法人どちらを設定するか判断する
				if (JFUStrConst.CD00036_1.equals(keiSbt))
				{
					// 契約種別が個人の場合、契約者情報.氏名かな（姓）＋（名）を設定する
					seikyKeiKana = getKshKatakana(bnKeiyakuinfo);
				}
				else
				{
					// 契約種別が法人の場合、契約者情報.代表者かな（姓）＋（名）を設定する
					seikyKeiKana = getKshDhsKatakana(bnKeiyakuinfo);
				}
			}
			parentMap.put("seiky_kei_kana", seikyKeiKana);
		}
		
		//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 start
		else if (JFUStrConst.PAYWAY_BANK_POSTAL.equals(payway))
		{
			
			// 口座振替フラグ
			String koufuriFlg = cash_infobean.sendMessageString(CommonInfoCFConst.KOUFURI_FLG_15, X31CWebConst.DATABEAN_GET_VALUE);
			
			// 口座振替フラグにより分岐
			if (JFUStrConst.KOUFURI_YES.equals(koufuriFlg)) {
				// 金融機関情報から返却されてきた名称（カナ）を設定する。
				parentMap.put("seiky_kei_kana", cash_infobean.sendMessageString(CommonInfoCFConst.ACCOUNT_HOLDER_15, X31CWebConst.DATABEAN_GET_VALUE));
			}

		}
		//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 end
		

		// 異動区分
		parentMap.put("ido_div", getIdoKbn(web_new_infobean));

		// 予約適用年月日⇒cc内で取得
		//String opeDate = JFUWebCommon.getSysDate();
		parentMap.put("rsv_aply_ymd", "");
		// 更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", cash_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_GET_VALUE));

		if (JFUStrConst.PAYWAY_CREDIT.equals(payway))
		{
			parentMap.put("first_pay_mskmsho_rcp_ymd", opeDate);
		}
		else
		{
			// 「OM-2015-0000840」口座振替での新規申込時に口座振替依頼書が同梱される 2015.04.22 FJ)矢野 start
			// 口座振替フラグ
			String koufuriFlg = cash_infobean.sendMessageString(CommonInfoCFConst.KOUFURI_FLG_15, X31CWebConst.DATABEAN_GET_VALUE);
			
			// 口座振替フラグにより分岐
			if (!JFUStrConst.KOUFURI_YES.equals(koufuriFlg)) {
				// 銀行・ゆうちょの場合運用日を設定
				parentMap.put("first_pay_mskmsho_rcp_ymd", "");
			}else{
				parentMap.put("first_pay_mskmsho_rcp_ymd", opeDate);
			}
			//parentMap.put("first_pay_mskmsho_rcp_ymd", "");
			// 「OM-2015-0000840」口座振替での新規申込時に口座振替依頼書が同梱される 2015.04.22 FJ)矢野 end
		}

		// 初回支払申込書送付要否 (空固定)
		parentMap.put("first_pay_mskmsho_sohu_yh", "");

		outputMap.put("EKK0491C060", parentMap);

		return outputMap;
	}

	/**
	 * お客様CCへのマッピングを行う
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return outputMap
	 */
	public HashMap<String, Object> setJFUCustCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakuinfo(webNewInfoBean);

		// ＷＥＢ新規情報.契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// ＷＥＢ新規情報.SYSID
		String sysid = webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 会員種別
		String kiin_sbt = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KIIN_SBT_09, X31CWebConst.DATABEAN_GET_VALUE);

		// ＷＥＢ新規情報.申込区分
		String mskmKbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// 会員種別
		parentMap.put("kiin_sbt", kiin_sbt);
		// SYSID(追加申込用)
		parentMap.put("sysid", sysid);
		// 契約者タイプコード設定
		parentMap.put("keisha_type_cd", keiSbt);
		// 仮申込フラグ
		parentMap.put("kari_mskm_flg", JFUStrConst.CD00667_2);

		HashMap<String, Object> otherMap = new HashMap<String, Object>();
		// 追加申込の場合、申込区分フラグを設定する
		otherMap.put(MAP_MSKM_KBN, mskmKbn);
		parentMap.put("rrks_add_map_key", "ECK0201D010");
		outputMap.put("ECK0201D010", otherMap);

		outputMap.put("JFUCustAddChgCC", parentMap);

		return outputMap;
	}

	/**
	 * 契約者情報・氏名カナを取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	private String getKshKatakana(X31SDataBeanAccess keiyakushaInfoBean)
	{
		StringBuilder sb = new StringBuilder();
		String retString = "";

		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(ZENKAKU_SPACE);
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE));

		retString = JFUWebCommon.convFullHiraToFullKataV(sb.toString());

		return retString;
	}

	/**
	 * 契約者情報・代表者カナを取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @return String
	 */
	private String getKshDhsKatakana(X31SDataBeanAccess keiyakushaInfoBean)
	{
		StringBuilder sb = new StringBuilder();
		String retString = "";

		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE));
		sb.append(ZENKAKU_SPACE);
		sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.DHSKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE));

		retString = JFUWebCommon.convFullHiraToFullKataV(sb.toString());

		return retString;
	}

	/**
	 * 上りマッピングをする（サービス契約支払い方法継続変更）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0081C012(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		ArrayList list = null; // サービス契約リスト

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約サービス
		X31SDataBeanAccess contract_infobean = getKeiyakusvcinfo(web_new_infobean);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(web_new_infobean);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(web_new_infobean);
		// 光テレビ
		X31SDataBeanAccess bnEotv = getEotv(web_new_infobean);
		// モバイル
		X31SDataBeanAccess bnMobile = getMobile(web_new_infobean);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);

		// サービス情報取得
		// 選択サービス(ネット)
		String svc_net = contract_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(テレビ)
		String svc_tv = contract_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(電話)
		String svc_tel = contract_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);

		// 2012/12/3 障害No719 kusumoto Start
		// 選択サービス(モバイル)
		String svc_mob = contract_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_MOBILE_10, X31CWebConst.DATABEAN_GET_VALUE);
		//// モバイルコース
		//String mob_crs = bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
		// 2012/12/3 障害No719 kusumoto End

		HashMap wrkMap = null;
		ArrayList wrkList = new ArrayList();
		if (svc_net.equals(SENTAKU))
		{
			wrkMap = new HashMap();
			wrkMap.put("svc_kei_no", bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("upd_dtm_bf", bnEonet.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_11, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("gene_add_dtm", bnEonet.sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SVC_KEI_11, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("svc_nm", "NET");
			wrkList.add(wrkMap);
		}
		if (svc_tv.equals(SENTAKU))
		{
			wrkMap = new HashMap();
			wrkMap.put("svc_kei_no", bnEotv.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("upd_dtm_bf", bnEotv.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_13, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("gene_add_dtm", bnEotv.sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SVC_KEI_13, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("svc_nm", "TV");
			wrkList.add(wrkMap);
		}
		if (svc_tel.equals(SENTAKU))
		{
			wrkMap = new HashMap();
			wrkMap.put("svc_kei_no", bnEotel[0].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("upd_dtm_bf", bnEotel[0].sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("gene_add_dtm", bnEotel[0].sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("svc_nm", "TEL");
			wrkList.add(wrkMap);
		}
		// 2012/12/3 障害No719 kusumoto Start
		//if (mob_crs.equals(JFUStrConst.MOBILE_COURSE_3G_21M) || mob_crs.equals(JFUStrConst.MOBILE_COURSE_3G_7_2M)
		//		|| mob_crs.equals(JFUStrConst.MOBILE_COURSE_WIFI) || mob_crs.equals(JFUStrConst.MOBILE_COURSE_WIMAX))
		if (svc_mob.equals(SENTAKU))
		// 2012/12/3 障害No719 kusumoto End
		{
			wrkMap = new HashMap();
			wrkMap.put("svc_kei_no", bnMobile.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_14, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("upd_dtm_bf", bnMobile.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_14, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("gene_add_dtm", bnMobile.sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SVC_KEI_14, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("svc_nm", "MOB");
			wrkList.add(wrkMap);
		}

		// 支払方法引継 1:引き継ぐ 2:引き継がない(変更)
		String hikitugi = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法を引き継がない場合は、nullを返します。
		if (!hikitugi.equals(JFUStrConst.PAYWAY_CONTINUE_CONTINUE))
		{
			return null;
		}

		list = new ArrayList();
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap inMap = null;
		for (int i = 0; i < wrkList.size(); i++)
		{
			HashMap<String, Object> childMap = new HashMap<String, Object>();
			// ワークマップ
			inMap = (HashMap)wrkList.get(i);

			// 共通情報のマッピング
			childMap.put("func_code", func_code);
			// サービス名
			childMap.put("svc_nm", inMap.get("svc_nm"));
			// サービス契約番号
			childMap.put("svc_kei_no", inMap.get("svc_kei_no"));
			// 世代登録年月日時分秒
			childMap.put("gene_add_dtm", inMap.get("gene_add_dtm"));
			// 支払い方法継続フラグ
			childMap.put("payway_keizoku_flg", hikitugi);
			// 更新年月日時分秒(更新前)
			childMap.put("upd_dtm_bf", inMap.get("upd_dtm_bf"));

			// レコード作成
			list.add(childMap);
		}
		parentMap.put("EKK0081C012List", list);
		outputMap.put("EKK0081C012", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（課金先登録）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 * @exception Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0321D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		ArrayList list = null; // サービス契約リスト

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約サービス
		X31SDataBeanAccess contract_infobean = getKeiyakusvcinfo(web_new_infobean);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(web_new_infobean);
		X31SDataBeanAccessArray net_infobean_array = bnEonet.getDataBeanArray(CommonInfoCFConst.KIKI_INFO_NET);
		X31SDataBeanAccess[] net_list = null;
		// 光ネットレコード作成
		int cntNet = net_infobean_array.getCount();
		net_list = new X31SDataBeanAccess[cntNet];
		for (int i = 0; i < cntNet; i++)
		{
			net_list[i] = net_infobean_array.getDataBean(i);
		}

		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(web_new_infobean);
		X31SDataBeanAccessArray tel_infobean_array = bnEotel[0].getDataBeanArray(CommonInfoCFConst.KIKI_INFO_TEL);
		X31SDataBeanAccess[] tel_list = null;
		// 光電話レコード作成
		int cntTel = tel_infobean_array.getCount();
		tel_list = new X31SDataBeanAccess[cntTel];
		for (int i = 0; i < cntTel; i++)
		{
			tel_list[i] = tel_infobean_array.getDataBean(i);
		}

		// 光テレビ
		X31SDataBeanAccess bnEotv = getEotv(web_new_infobean);
		X31SDataBeanAccessArray tv_infobean_array = bnEotv.getDataBeanArray(CommonInfoCFConst.KIKI_INFO_TV);
		X31SDataBeanAccess[] tv_list = null;
		// 光テレビレコード作成
		int cntTv = tv_infobean_array.getCount();
		tv_list = new X31SDataBeanAccess[cntTv];
		for (int i = 0; i < cntTv; i++)
		{
			tv_list[i] = tv_infobean_array.getDataBean(i);
		}

		// モバイル
		X31SDataBeanAccess bnMobile = getMobile(web_new_infobean);
		X31SDataBeanAccessArray mob_infobean_array = bnMobile.getDataBeanArray(CommonInfoCFConst.KIKI_INFO_MOBILE);
		X31SDataBeanAccess[] mob_list = null;
		// モバイルレコード作成
		int cntMob = mob_infobean_array.getCount();
		mob_list = new X31SDataBeanAccess[cntMob];
		for (int i = 0; i < cntMob; i++)
		{
			mob_list[i] = mob_infobean_array.getDataBean(i);
		}

		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);

		// 支払方法引継
		String hikitugi = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法を引き継がない場合は、nullを返します。
		if (!hikitugi.equals(JFUStrConst.PAYWAY_CONTINUE_CONTINUE))
		{
			return null;
		}

		// サービス情報取得
		// 選択サービス(ネット)
		String svc_net = contract_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(テレビ)
		String svc_tv = contract_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(電話)
		String svc_tel = contract_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// モバイルコース
		String mob_crs = bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		HashMap wrkMap = null;
		ArrayList wrkList = new ArrayList();
		if (svc_net.equals(SENTAKU))
		{
			wrkMap = new HashMap();
			// サービス契約番号
			wrkMap.put("svc_kei_no", bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
			wrkList.add(wrkMap);

			// 機器提供サービス契約番号
			for (int j = 0; j < net_list.length; j++)
			{
				wrkMap = new HashMap();
				String kktkSvcKeiNo = net_list[j].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_GET_VALUE);
				if (kktkSvcKeiNo.length() > 0)
				{
					wrkMap.put("kktk_svc_kei_no", net_list[j]
							.sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_GET_VALUE));
					wrkList.add(wrkMap);
				}
			}
			// オプションサービス契約番号
			String[] opSvcKeiNoArray = bnEonet.sendMessageString(CommonInfoCFConst.OP_SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE).split(",");
			for (String str : opSvcKeiNoArray)
			{
				if (str.length() > 0)
				{
					wrkMap = new HashMap();
					wrkMap.put("op_svc_kei_no", str);
					wrkList.add(wrkMap);
				}
			}
		}
		if (svc_tv.equals(SENTAKU))
		{
			wrkMap = new HashMap();
			// サービス契約番号
			wrkMap.put("svc_kei_no", bnEotv.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE));
			wrkList.add(wrkMap);
			// サービス契約内訳番号
			String[] svcKeiUcwkNoArray = bnEotv.sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_13, X31CWebConst.DATABEAN_GET_VALUE).split(",");
			for (String str : svcKeiUcwkNoArray)
			{
				// 条件文追加 内訳リストがなければ、作成しない。
				if (str.length() > 0)
				{
					wrkMap = new HashMap();
					wrkMap.put("svc_kei_ucwk_no", str);
					wrkList.add(wrkMap);
				}
			}
			// 機器提供契約番号
			for (int j = 0; j < tv_list.length; j++)
			{
				wrkMap = new HashMap();
				wrkMap.put("kktk_svc_kei_no", tv_list[j].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_GET_VALUE));
				wrkList.add(wrkMap);
			}
		}
		if (svc_tel.equals(SENTAKU))
		{
			wrkMap = new HashMap();
			// サービス契約番号
			wrkMap.put("svc_kei_no", bnEotel[0].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
			wrkList.add(wrkMap);
			// 機器提供契約番号
			for (int j = 0; j < tel_list.length; j++)
			{
				wrkMap = new HashMap();
				String kktkSvcKeiNo = tel_list[j].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_GET_VALUE);

				// 機器提供契約番号
				if (kktkSvcKeiNo.length() > 0)
				{
					wrkMap.put("kktk_svc_kei_no", kktkSvcKeiNo);
					wrkList.add(wrkMap);
				}
			}

			// 機器オプションサービス契約番号
			for (int j = 0; j < tel_list.length; j++)
			{
				wrkMap = new HashMap();
				String kkOpSvcKeiNo = tel_list[j].sendMessageString(CommonInfoCFConst.KKOP_SVC_KEI_NO_19, X31CWebConst.DATABEAN_GET_VALUE);

				// 機器オプションサービス契約番号
				if (kkOpSvcKeiNo.length() > 0)
				{
					wrkMap.put("kkop_svc_kei_no", kkOpSvcKeiNo);
					wrkList.add(wrkMap);
				}
			}

			/* 2012/11/28 IT2-2012-0001841 Y.Saitou ADD-START */
			// オプションサービス契約番号
			for (X31SDataBeanAccess telBean : bnEotel)
			{
				String opSvcKeiNo = telBean.sendMessageString(CommonInfoCFConst.OP_SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE);
				if (null != opSvcKeiNo && !"".equals(opSvcKeiNo))
				{
					wrkMap = new HashMap();
					wrkMap.put("op_svc_kei_no", opSvcKeiNo);
					wrkList.add(wrkMap);
				}
			}
			/* 2012/11/28 IT2-2012-0001841 Y.Saitou ADD-END */
		}
		/* 2012/11/28 IT2-2012-0001841 Y.Saitou MOD-START */
		if (mob_crs.equals(JFUStrConst.MOBILE_COURSE_3G_21M) || mob_crs.equals(JFUStrConst.MOBILE_COURSE_3G_7_2M)
				|| mob_crs.equals(JFUStrConst.MOBILE_COURSE_3G_HHB) || mob_crs.equals(JFUStrConst.MOBILE_COURSE_3G_21M_HHB)
				|| mob_crs.equals(JFUStrConst.MOBILE_COURSE_WIFI) || mob_crs.equals(JFUStrConst.MOBILE_COURSE_WIMAX))
		/* 2012/11/28 IT2-2012-0001841 Y.Saitou MOD-END */
		{
			wrkMap = new HashMap();
			// サービス契約番号
			wrkMap.put("svc_kei_no", bnMobile.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_14, X31CWebConst.DATABEAN_GET_VALUE));
			wrkList.add(wrkMap);
			// 機器提供契約番号
			for (int j = 0; j < mob_list.length; j++)
			{
				wrkMap = new HashMap();
				String kktkSvcKeiNo = mob_list[j].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_GET_VALUE);
				if (kktkSvcKeiNo.length() > 0)
				{
					wrkMap.put("kktk_svc_kei_no", kktkSvcKeiNo);
					wrkList.add(wrkMap);
				}
			}
			// オプションサービス契約番号
			String[] opSvcKeiNoArray = bnMobile.sendMessageString(CommonInfoCFConst.OP_SVC_KEI_NO_14, X31CWebConst.DATABEAN_GET_VALUE).split(",");
			for (String str : opSvcKeiNoArray)
			{
				if (str.length() > 0)
				{
					wrkMap = new HashMap();
					wrkMap.put("op_svc_kei_no", str);
					wrkList.add(wrkMap);
				}
			}
		}

		list = new ArrayList();
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap inMap = null;
		for (int i = 0; i < wrkList.size(); i++)
		{
			HashMap<String, Object> childMap = new HashMap<String, Object>();
			// ワークマップ
			inMap = (HashMap)wrkList.get(i);

			// 共通情報のマッピング
			childMap.put("func_code", func_code);
			// 引継ぎ請求契約番号
			childMap.put("seiky_kei_no", cash_infobean.sendMessageString(CommonInfoCFConst.HKTGI_SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));
			// サービス契約番号
			if (inMap.containsKey("svc_kei_no"))
			{
				childMap.put("svc_kei_no", inMap.get("svc_kei_no"));
			}
			// サービス契約内訳番号
			if (inMap.containsKey("svc_kei_ucwk_no"))
			{
				childMap.put("svc_kei_ucwk_no", inMap.get("svc_kei_ucwk_no"));
			}
			// 機器提供サービス契約番号
			if (inMap.containsKey("kktk_svc_kei_no"))
			{
				childMap.put("kktk_svc_kei_no", inMap.get("kktk_svc_kei_no"));
			}
			// オプションサービス契約番号
			if (inMap.containsKey("op_svc_kei_no"))
			{
				childMap.put("op_svc_kei_no", inMap.get("op_svc_kei_no"));
			}
			// 機器オプションサービス契約番号
			if (inMap.containsKey("kkop_svc_kei_no"))
			{
				childMap.put("kkop_svc_kei_no", inMap.get("kkop_svc_kei_no"));
			}
			// 割引サービス契約番号
			childMap.put("wrib_svc_kei_no", "");
			// 課金先適用開始年月日→サービス層でセット
			// 課金先適用終了年月日
			childMap.put("kakins_tendymd", "20991231");
			// 引継ぎ更新年月日時分秒（請求契約）
			childMap
					.put("upd_dtm_bf", cash_infobean.sendMessageString(CommonInfoCFConst.HKTGI_UPD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_GET_VALUE));
			// レコード作成
			list.add(childMap);
		}

		parentMap.put("EKK0321D010List", list);
		outputMap.put("EKK0321D010", parentMap);

		return outputMap;
	}

	// 申込＿代理店論理削除・登録はFUSV0152に統合 2012/09/27 Otsuka
	/**
	 * 進捗登録上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK1091D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		int srvCnt = 0; // サービス契約個数
		ArrayList list = null;
		ArrayList subList = null;
		HashMap childMap = null;
		HashMap subChildMap = null;
		HashMap wrkMap = null;
		ArrayList wrkList = null;

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス情報
		X31SDataBeanAccess bnKeiyakusvcinfo = getKeiyakusvcinfo(bnWebinfo);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(bnWebinfo);
		// 光テレビ
		X31SDataBeanAccess bnEotv = getEotv(bnWebinfo);
		// モバイル
		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);
		// 支払い方法情報
		X31SDataBeanAccess bnPywyInfo = getPywyInfo(bnWebinfo);

		wrkList = new ArrayList();

		// サービス契約個数算出
		// eo光ネット
		if (bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE).equals(SENTAKU))
		{
			srvCnt = srvCnt + 1;
			wrkMap = new HashMap();
			wrkMap.put("svc_kei_no", bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("seiky_kei_no", bnPywyInfo.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));
			wrkList.add(wrkMap);
		}
		// eo光テレビ
		if (bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE).equals(SENTAKU))
		{
			srvCnt = srvCnt + 1;
			wrkMap = new HashMap();
			wrkMap.put("svc_kei_no", bnEotv.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("seiky_kei_no", bnPywyInfo.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));
			wrkList.add(wrkMap);
		}
		// eo光電話
		if (bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE).equals(SENTAKU))
		{
			srvCnt = srvCnt + 1;
			wrkMap = new HashMap();
			wrkMap.put("svc_kei_no", bnEotel[0].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("seiky_kei_no", bnPywyInfo.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));
			wrkList.add(wrkMap);
		}
		// eoモバイル
		if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).length() > 0
				&& !bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MOBILE_COURSE_3G_UNDECIDED)
				&& !bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MOBILE_COURSE_NON))
		{
			srvCnt = srvCnt + 1;
			wrkMap = new HashMap();
			wrkMap.put("svc_kei_no", bnMobile.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_14, X31CWebConst.DATABEAN_GET_VALUE));
			wrkMap.put("seiky_kei_no", bnPywyInfo.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));
			wrkList.add(wrkMap);
		}

		list = new ArrayList();

		for (int i = 0; i < srvCnt; i++)
		{
			childMap = new HashMap();

			wrkMap = (HashMap)wrkList.get(i);
			// 共通情報のマッピング
			childMap.put("func_code", func_code);
			// 請求契約番号
			childMap.put("seiky_kei_no", wrkMap.get("seiky_kei_no"));
			// 請求方法番号(クレジットカード)
			childMap.put("seiky_way_no_crecard", bnPywyInfo.sendMessageString(CommonInfoCFConst.SEIKY_WAY_NO_CRECARD_32,
					X31CWebConst.DATABEAN_GET_VALUE));
			// サービス契約番号
			childMap.put("svc_kei_no", wrkMap.get("svc_kei_no"));
			// 異動区分
			childMap.put("ido_div", getIdoKbn(bnWebinfo));
			// 異動年月日時分秒⇒CC内で取得
			//String opeDateTimeStamp = JFUWebCommon.getSysDateTimeStamp();
			childMap.put("ido_dtm", "");
			// 進捗ステータス
			childMap.put("prg_stat", JFUStrConst.CD00647_0200);
			// 異動理由明細
			if (parentMap.containsKey("EKK1091D010CBSMsg1List"))
			{
				subList = (ArrayList)parentMap.get("EKK1091D010CBSMsg1List");
			}
			else
			{
				subList = new ArrayList();
			}
			subChildMap = new HashMap();
			// 異動理由コード
			subChildMap.put("ido_rsn_cd", JFUStrConst.CD00846_16);

			subList.add(subChildMap);
			childMap.put("EKK1091D010CBSMsg1List", subList);

			list.add(childMap);
		}
		parentMap.put("EKK1091D010List", list);
		outputMap.put("EKK1091D010", parentMap);

		return outputMap;
	}

	/**
	 * メール送信上りマッピングをする
	 * 
	 * <br>
	 * @param bean　[0]：入力内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setECC0021D010(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code) throws Exception
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccessArray arraybean = null;
		X31SDataBeanAccess beanTemp = null;
		ArrayList list = null;

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 訪販の場合、各値を設定
		String hanbaiType = bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType))
		{
			// 販売タイプ
			parentMap.put("hanbai_type", hanbaiType);
			// SYSID
			parentMap.put("mail_sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// お客様向けメールコード → メール送信情報登録マップ.メールコード
		parentMap.put("mail_cd", bean[1].sendMessageString("お客様向けメールコード", X31CWebConst.DATABEAN_GET_VALUE));
		// メール送信パターンコード
		parentMap.put("mail_send_pattern_cd", JFUStrConst.CD00789_01);
		// 送信予定年月日時分秒(リアルタイム送信の場合設定なし)
		parentMap.put("mail_send_rsv_dtm", "");

		String socialNm = JFUStrConst.EMPTY;
		if (JFUStrConst.HNBAI_TYPE_CON.equals(hanbaiType) || JFUStrConst.HNBAI_TYPE_TKJCOMP.equals(hanbaiType))
		{
			X31SDataBeanAccessArray keyakusya_info = bnWebinfo.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
			X31SDataBeanAccess keyakusya_infobean = keyakusya_info.getDataBean(0);

			// eoID
			String eoid = keyakusya_infobean.sendMessageString(CommonInfoCFConst.EOID_09, X31CWebConst.DATABEAN_GET_VALUE);
			// 他社ＩＤ
			String socialIdSbt = keyakusya_infobean.sendMessageString(CommonInfoCFConst.SOCIAL_ID_SBT_09, X31CWebConst.DATABEAN_GET_VALUE);
			Map<String, String> socialIdNmMap =
				JFUWebCommon.getDispItemsAsMap("DISPSETTING/COMMONSETTING/DISPTEXT[@groupid='DSP_SOCIALMEDEIA']", JFUStrConst.QUERY_ATTR_NAME);
			String socialNmTitle = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "ML_DISP_SOCIALIDSBT");
			if ("0".equals(socialIdSbt))
			{
				socialNm = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "ML_DISP_EOID") + eoid;
			} else if ("1".equals(socialIdSbt))
			{
				socialNm = socialNmTitle + socialIdNmMap.get("DSP_SOCIALMEDEIA_GOOGLE");
			} else if ("2".equals(socialIdSbt))
			{
				socialNm = socialNmTitle + socialIdNmMap.get("DSP_SOCIALMEDEIA_YAHOO");
			} else if ("3".equals(socialIdSbt))
			{
				socialNm = socialNmTitle + socialIdNmMap.get("DSP_SOCIALMEDEIA_FACEBOOK");
			} else if ("4".equals(socialIdSbt))
			{
				socialNm = socialNmTitle + socialIdNmMap.get("DSP_SOCIALMEDEIA_APPLE");
			}
		}
		parentMap.put("socialNm", socialNm);

		beanTemp = bean[1];
		arraybean = beanTemp.getDataBeanArray("お客様向けメール送信先リスト");
		if (parentMap.containsKey("ECC0021D010CBSMsg1List"))
		{
			list = (ArrayList)parentMap.get("ECC0021D010CBSMsg1List");
		}
		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("mlad", subbean.sendMessageString("送信先メールアドレス", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// お客様向けメール送信先リスト.メールアドレス設定フィールドコード →
				// メール送信情報登録マップ.送信先一覧明細.メールアドレス設定フィールドコード
				if (subbean != null)
				{
					childMap.put("mlad_set_field_cd", subbean.sendMessageString("メールアドレス設定フィールドコード", X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put("ECC0021D010CBSMsg1List", list);

		beanTemp = bean[1];
		arraybean = beanTemp.getDataBeanArray("お客様向けメール本文非定型文字列リスト");
		if (parentMap.containsKey("ECC0021D010CBSMsg2List"))
		{
			list = (ArrayList)parentMap.get("ECC0021D010CBSMsg2List");
		}
		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("text_htk_ckam_moji", subbean.sendMessageString("本文非定型置換文字", X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put("ECC0021D010CBSMsg2List", list);

		// 空のリスト作成
		ArrayList<HashMap> arrayList = new ArrayList<HashMap>();
		parentMap.put("ECC0021D010CBSMsg3List", arrayList);

		beanTemp = bean[1];
		arraybean = beanTemp.getDataBeanArray("お客様向けメール明細一覧リスト");
		if (parentMap.containsKey("ECC0021D010CBSMsg4List"))
		{
			list = (ArrayList)parentMap.get("ECC0021D010CBSMsg4List");
		}
		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("mail_dtl_cd", subbean.sendMessageString("メール明細コード", X31CWebConst.DATABEAN_GET_VALUE));
				}
				// お客様向けメール明細一覧リスト.明細本文非定型置換文字 →
				// メール送信情報登録マップ.メール明細一覧明細.明細本文非定型置換文字
				if (subbean != null)
				{
					childMap.put("dtl_text_htk_ckam_moji", subbean.sendMessageString("明細本文非定型置換文字", X31CWebConst.DATABEAN_GET_VALUE));
				}

				list.add(childMap);
			}
		}
		parentMap.put("ECC0021D010CBSMsg4List", list);

		beanTemp = bean[1];
		arraybean = beanTemp.getDataBeanArray("お客様向けメールヘッダーリスト");
		if (parentMap.containsKey("ECC0021D010CBSMsg5List"))
		{
			list = (ArrayList)parentMap.get("ECC0021D010CBSMsg5List");
		}
		else
		{
			list = new ArrayList();
		}
		if (arraybean != null && arraybean.getCount() > 0)
		{
			for (int i = 1; i < arraybean.getCount(); i++)
			{
				HashMap childMap = null;
				if (list.size() - 1 >= i)
				{
					childMap = (HashMap)list.get(i);
				}
				else
				{
					childMap = new HashMap();
				}

				list.add(childMap);
			}
		}
		parentMap.put("ECC0021D010CBSMsg5List", list);

		outputMap.put(JFUMskmFinMail.FUSV027801CC, parentMap);

		return outputMap;
	}

	/**
	 * メール送信（ガス申込み）上りマッピングをする
	 * （電気単独対応によりガスのメール送信は廃止）
	 * <br>
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	public HashMap<String, Object> setECC0021D010_GAS(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		// 廃止のため何もしない
		return outputMap;
	}

// ANK-3520-00-00 ADD START
	/**
	 * メール送信情報登録（支払登録慫慂）上りマッピングをする
	 * 
	 * <br>
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setECC0021D010_PAY(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakuinfo(webNewInfoBean);
		// 契約サービス
		X31SDataBeanAccess keiyakusvcInfoBean = getKeiyakusvcinfo(webNewInfoBean);
		// 支払い方法情報
		X31SDataBeanAccess paywayInfoBean = getPywyInfo(webNewInfoBean);
		// 契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 支払方法引継
		String paywayContinue = paywayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		// 支払い方法
		String payway = paywayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);
		// 口座振替フラグ
		String koufuriFlg = paywayInfoBean.sendMessageString(CommonInfoCFConst.KOUFURI_FLG_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 契約種別が「個人」
		// かつ 支払方法引継が未設定 または 「引き継がない」
		// かつ 支払い方法が「クレジット」以外
		// かつ 口座振替フラグが「口座振替する」以外の場合、マッピングを行う
		if (keiSbt.equals(JFUStrConst.KEI_SBT_KOJINCD)
				&& (JFUWebCommon.isNull(paywayContinue)
						|| JFUStrConst.PAYWAY_CONTINUE_NON.equals(paywayContinue))
				&& !JFUStrConst.PAYWAY_CREDIT.equals(payway)
				&& !JFUStrConst.KOUFURI_YES.equals(koufuriFlg))
		{
			X31SDataBeanAccessArray arraybean = null;
			X31SDataBeanAccess beanTemp = null;
			ArrayList list = null;

			HashMap<String, Object> parentMap = new HashMap<String, Object>();

			// 共通情報のマッピング
			parentMap.put("func_code", func_code);

			// 訪販の場合、各値を設定する
			String hanbaiType = webNewInfoBean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
			if (JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType))
			{
				// 販売タイプ
				parentMap.put("hanbai_type", hanbaiType);
				// SYSID
				parentMap.put("mail_sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
			}

			// メール送信情報登録マップ.メールコード
			parentMap.put("mail_cd", JFUStrConst.MAIL_CD_PAY_ADD_SHOYO);
			// メール送信パターンコード
			parentMap.put("mail_send_pattern_cd", JFUStrConst.CD00789_01);
			// 送信予定年月日時分秒(リアルタイム送信の場合設定なし)
			parentMap.put("mail_send_rsv_dtm", "");

			beanTemp = bean[1];
			arraybean = beanTemp.getDataBeanArray("お客様向けメール送信先リスト");
			if (parentMap.containsKey("ECC0021D010CBSMsg1List"))
			{
				list = (ArrayList)parentMap.get("ECC0021D010CBSMsg1List");
			}
			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("mlad", subbean.sendMessageString("送信先メールアドレス", X31CWebConst.DATABEAN_GET_VALUE));
					}
					// お客様向けメール送信先リスト.メールアドレス設定フィールドコード →
					// メール送信情報登録マップ.送信先一覧明細.メールアドレス設定フィールドコード
					if (subbean != null)
					{
						childMap.put("mlad_set_field_cd", subbean.sendMessageString("メールアドレス設定フィールドコード", X31CWebConst.DATABEAN_GET_VALUE));
					}

					list.add(childMap);
				}
			}
			parentMap.put("ECC0021D010CBSMsg1List", list);

			// 非定型文字列一覧明細
			ArrayList<HashMap> mojiList = new ArrayList<HashMap>();

			// 氏名
			HashMap<String, String> childMap1 = new HashMap<String, String>();
			StringBuilder sb = new StringBuilder();
			sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHNM_SEI_09, X31CWebConst.DATABEAN_GET_VALUE));
			sb.append(keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KSHNM_NM_09, X31CWebConst.DATABEAN_GET_VALUE));
			childMap1.put("text_htk_ckam_moji", sb.toString());
			mojiList.add(childMap1);
			
//			// 受付番号
//			HashMap<String, String> childMap2 = new HashMap<String, String>();
//			String mskmNo = keiyakusvcInfoBean.sendMessageString(CommonInfoCFConst.MSKMSHO_NO_10, X31CWebConst.DATABEAN_GET_VALUE);
//			childMap2.put("text_htk_ckam_moji", mskmNo);
//			mojiList.add(childMap2);
			parentMap.put("ECC0021D010CBSMsg2List", mojiList);

			// 空のリスト作成
			ArrayList<HashMap> arrayList = new ArrayList<HashMap>();
			parentMap.put("ECC0021D010CBSMsg3List", arrayList);
			parentMap.put("ECC0021D010CBSMsg4List", arrayList);
			parentMap.put("ECC0021D010CBSMsg5List", arrayList);

			outputMap.put(JFUMskmFinMail.FUSV027803CC, parentMap);
		}

		return outputMap;
	}
// ANK-3520-00-00 ADD END

	/**
	 * 上りマッピングをする（ファミリーパックルーター自動登録）
	 * 
	 * @param bean[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @param opeDateTime
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUFamipaRouterCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDateTime)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}
		X31SDataBeanAccessArray web_new_info = bean[0].getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);
		// 契約サービス
		X31SDataBeanAccess contract_infobean = getKeiyakusvcinfo(web_new_infobean);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(web_new_infobean);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(web_new_infobean);
		// 利用場所情報
		X31SDataBeanAccess bnRiyobasyoinfo = getRiyobasyoinfo(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		String family_pack = bnEonet.sendMessageString(CommonInfoCFConst.FP_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		String selSvcTel = contract_infobean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);

		if (!family_pack.equals(SENTAKU))
		{
			return null;
		}
		if(JFUStrConst.SELECT_SVC_TEL_CHOICE.equals(selSvcTel) && JFUStrConst.CD00002_1.equals(family_pack))
		{
			return null;
		}

		// ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿割引タイプコード
		parentMap.put("key_wrib_type_cd", JFUStrConst.CD00284_20);
		// 申込番号
		parentMap.put("mskm_no", contract_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込明細番号
		parentMap.put("mskm_dtl_no", bnEonet.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込書番号
		parentMap.put("mskmsho_no", "");
		// 予約適用年月日
		parentMap.put("rsv_aply_ymd", "");
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(web_new_infobean));
		// 要求種別コード
		parentMap.put("yokyu_sbt_cd", JFUStrConst.CD00317_02);
		// 機能コード
		parentMap.put("func_code", ""); // IT1-2012-0001584 h.iwamoto 2012/12/29
		// 進捗特記事項1
		parentMap.put("prg_tkjk_1", opeDateTime); // No255 Otsuka 2013/01/26
		// 機器送付先個別指定フラグ
		parentMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		// No312 2013/02/19 Otsuka start
		// 共有フォームBean.契約者情報.氏名（姓）+（姓）/共有フォームBean.契約者情報.法人名 → 契約者機器送付先名
		parentMap.put("kiki_sohus_nm", getKshnm(web_new_infobean, bnKeiyakuinfo));
		// 機器送付先カナ名
		parentMap.put("kiki_sohus_kana", getKshnmKna(web_new_infobean, bnKeiyakuinfo));
		// 機器送付先郵便番号
		parentMap.put("kiki_sohus_pcd", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器送付先住所補記・建物名
		parentMap.put("kiki_sohus_adrttm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器送付先住所補記・部屋番号
		parentMap.put("kiki_sohus_adrrm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器送付先電話番号
		parentMap.put("kiki_sohus_telno", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO2_08, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO3_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器送付先＿契約者住所差異フラグ
		parentMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(bnKeiyakuinfo));

		// 機器送付先指定フラグ
		parentMap.put("kiki_shs_shitei_flg", JFUStrConst.CD00002_1);
		// No312 2013/02/19 Otsuka end

		// 多機能ルーター交換有
		parentMap.put("tkn_router_chg_um", JFUStrConst.CD00002_1);

		outputMap.put("FUSV016005CC", parentMap);
		return outputMap;
	}

	/**
	 * 上りマッピングをする（割引サービス契約自動登録）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUWribSvcKeiAutoAddCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}
		X31SDataBeanAccessArray web_new_info = bean[0].getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		String family_pack = bnEonet.sendMessageString(CommonInfoCFConst.FP_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);

		if (!family_pack.equals(SENTAKU))
		{
			return null;
		}

		// ＫＥＹ＿サービス契約番号
		parentMap.put("key_svc_kei_no", bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿割引タイプコード
		parentMap.put("key_wrib_type_cd", JFUStrConst.CD00284_20);
		// 割引サービスコード
		parentMap.put("wrib_svc_cd", CD00138_W00000006);
		// 割引サービス対象サービスコード
		parentMap.put("wrib_svc_trgt_svc_cd", CD00139_WT0000000006);
		// 申込明細番号
		parentMap.put("mskm_dtl_no", bnEonet.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// 予約適用年月日
		parentMap.put("rsv_aply_ymd", "");
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(web_new_infobean));
		// 要求種別コード
		parentMap.put("yokyu_sbt_cd", JFUStrConst.CD00317_02);

		// ST2-2012-0001786 baba 関連対応START
		// 料金コースコード
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_F01);
		// 料金プランコード
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PF0101);
		// // ST2-2012-0001786 baba 関連対応END

		outputMap.put("FUSV016011CC", parentMap);
		return outputMap;
	}

	/**
	 * 上りマッピングをする（利用場所住所情報分割）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016006CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccessArray web_new_info = bean[0].getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);
		// 利用場所情報
		X31SDataBeanAccess usePlace_infobean = getRiyobasyoinfo(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 都道府県・市区町村
		parentMap.put("state_city", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_STATE_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 字
		parentMap.put("aza", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_AZA_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等
		parentMap.put("chome_bnchi", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_CHO_BNCHI_08, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put(CC_TITLE_FUSV016006, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングする（アンケート回答登録）
	 * @param bean [0]：共有フォームビーン		[1]:アンケート
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0051D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccessArray web_new_info = bean[0].getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);

		// 契約サービス情報
		X31SDataBeanAccessArray keiyaku_svc_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);
		X31SDataBeanAccess keiyaku_svc_infobean = keiyaku_svc_info.getDataBean(0);

		// アンケートを取得
		X31SDataBeanAccess enqt_infobean = bean[1];

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共有情報のマッピング
		parentMap.put("func_code", func_code);

		// リスト
		ArrayList list = new ArrayList();

		// アンケート回答数
		int enqt_answer_cnt = 0;

		// アンケートリストループ
		X31SDataBeanAccessArray enqt_list = enqt_infobean.getDataBeanArray(ENQUETE_LIST);
		for (int i = 0; i < enqt_list.getCount(); i++)
		{
			// アンケートリスト[n]取得
			X31SDataBeanAccess enqt_list_infobean = enqt_list.getDataBean(i);

			//HashMap<String, HashMap<String,Object>> answerMap = new HashMap<String, HashMap<String,Object>>();
			//HashMap<String,Object> listMap = new HashMap<String,Object>();

			// アンケート種別コード
			String enqt_sbt_cd = enqt_list_infobean.sendMessageString(ENQUETE_CHK_SBT_02, X31CWebConst.DATABEAN_GET_VALUE);

			// アンケート回答リスト
			X31SDataBeanAccessArray answer_info = enqt_list_infobean.getDataBeanArray(ENQUETE_ANSWER_LIST);

			for (int j = 0; j < answer_info.getCount(); j++)
			{

				// データ格納用マップ
				HashMap<String, Object> dataMap = new HashMap<String, Object>();

				X31SDataBeanAccess answer_infobean = answer_info.getDataBean(j);

				// チェックボックス入力可否
				boolean chk_result = answer_infobean.sendMessageBoolean(CHKBOX_CHECKED_06, X31CWebConst.DATABEAN_GET_VALUE);

				// ラジオボタン選択値
				String radio_select = enqt_list_infobean.sendMessageString(RADIO_VALUE_02, X31CWebConst.DATABEAN_GET_VALUE);

				// アンケートフリー入力欄の値
				String enqt_free = answer_infobean.sendMessageString(ENQUETE_FREE_IPTFIELD_06, X31CWebConst.DATABEAN_GET_VALUE);

				// 上記何れかの条件に当てはまる時、リストへ追加する
				if (chk_result == true || (radio_select != null && !radio_select.equals("")) || (enqt_free != null && !enqt_free.equals("")))
				{
					// 01:チェックボックスの選択がtrue
					if ("01".equals(enqt_sbt_cd))
					{
						if (chk_result == false)
						{
							continue;
						}
					}

					// 02:ラジオボタンの選択値がNULL・空白でない
					else if ("02".equals(enqt_sbt_cd))
					{
						if (!(radio_select).equals(answer_infobean.sendMessageString(ENQUETE_CD_06, X31CWebConst.DATABEAN_GET_VALUE)))
						{
							continue;
						}
					}

					// 03:フリー入力
					else if ("03".equals(enqt_sbt_cd))
					{
						if (enqt_free == null || enqt_free.equals(""))
						{
							continue;
						}
					}
					
					// アンケート種別コードが不明
					else
					{
						continue;						
					}

					HashMap<String, Object> listMap = new HashMap<String, Object>();

					// ＷＥＢ新規情報.sysID → SYSID
					listMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

					// 契約サービス情報.申込番号 → 申込番号
					listMap.put("mskm_no", keiyaku_svc_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

					// アンケートリスト.アンケート番号 → アンケート番号
					listMap.put("enquete_no", enqt_list_infobean.sendMessageString(ENQUETE_CONTENT_NO_02, X31CWebConst.DATABEAN_GET_VALUE));

					// アンケートリスト.アンケート回答リスト.アンケートコード → アンケートコード
					listMap.put("enquete_cd", answer_infobean.sendMessageString(ENQUETE_CD_06, X31CWebConst.DATABEAN_GET_VALUE));

					// アンケートリスト.アンケートフリー入力欄 → アンケートフリー入力欄
					listMap
							.put("enquete_free_iptfield", answer_infobean
									.sendMessageString(ENQUETE_FREE_IPTFIELD_06, X31CWebConst.DATABEAN_GET_VALUE));

					// dataMapへ追加
					dataMap.put("data" + enqt_answer_cnt, listMap);
					enqt_answer_cnt++;

					//2011/12/06 リストを追加
					list.add(dataMap);
				}
			}
		}

		// アンケート回答データをリストEKK0051D010Listへ設定
		//dataMapのputからlistのputへ変更
		//parentMap.put("EKK0051D010List", dataMap);
		parentMap.put("EKK0051D010List", list);

		outputMap.put("EKK0051D010", parentMap);

		setEKK0051D010_GAS(bean[0], outputMap, func_code);

		return outputMap;
	}

	/**
	 * 上りマッピングする（ガス申込入力情報）
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0051D010_GAS(X31SDataBeanAccess bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccessArray web_new_info = bean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		X31SDataBeanAccess web_new_infobean = web_new_info.getDataBean(0);

		// 契約サービス情報
		X31SDataBeanAccessArray keiyaku_svc_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);
		X31SDataBeanAccess keiyaku_svc_infobean = keiyaku_svc_info.getDataBean(0);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共有情報のマッピング
		parentMap.put("func_code", func_code);

		// リスト
		ArrayList list = new ArrayList();

		// アンケート回答数
		int enqt_answer_cnt = 0;

		// マッピング済みのアンケートがある場合は取得する
		if (outputMap.containsKey("EKK0051D010"))
		{
			parentMap = (HashMap<String, Object>)outputMap.get("EKK0051D010");

			if (parentMap.containsKey("EKK0051D010List"))
			{
				list = (ArrayList)parentMap.get("EKK0051D010List");
				enqt_answer_cnt = list.size();
			}
		}

		// ガス申込情報リスト
		X31SDataBeanAccessArray gas_info_list = web_new_infobean.getDataBeanArray(CommonInfoCFConst.GAS_MSKM_INFO);

		for (int j = 0; j < gas_info_list.getCount(); j++)
		{

			X31SDataBeanAccess gas_infbean = gas_info_list.getDataBean(j);

			// データ格納用マップ
			HashMap<String, Object> dataMap = new HashMap<String, Object>();

			HashMap<String, Object> listMap = new HashMap<String, Object>();

			// ＷＥＢ新規情報.sysID → SYSID
			listMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

			// 契約サービス情報.申込番号 → 申込番号
			listMap.put("mskm_no", keiyaku_svc_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

			// ガス申込情報.アンケート番号 → アンケート番号
			listMap.put("enquete_no", gas_infbean.sendMessageString(CommonInfoCFConst.ENQUETE_NO_63, X31CWebConst.DATABEAN_GET_VALUE));

			// ガス申込情報.アンケートコード → アンケートコード
			listMap.put("enquete_cd", gas_infbean.sendMessageString(CommonInfoCFConst.ENQUETE_CD_63, X31CWebConst.DATABEAN_GET_VALUE));

			// ガス申込情報..アンケートフリー入力欄 → アンケートフリー入力欄
			listMap.put("enquete_free_iptfield", gas_infbean.sendMessageString(CommonInfoCFConst.ENQUETE_FREE_IPTFIELD_63,
					X31CWebConst.DATABEAN_GET_VALUE));

			// dataMapへ追加
			dataMap.put("data" + enqt_answer_cnt, listMap);
			enqt_answer_cnt++;

			// リストを追加
			list.add(dataMap);
		}

		// アンケート回答データをリストEKK0051D010Listへ設定
		parentMap.put("EKK0051D010List", list);

		outputMap.put("EKK0051D010", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（契約者住所情報分割）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016007CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess keisha_infobean = getKeiyakuinfo(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 都道府県・市区町村
		parentMap.put("state_city", keisha_infobean.sendMessageString(CommonInfoCFConst.KSH_STATE_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 字
		parentMap.put("aza", keisha_infobean.sendMessageString(CommonInfoCFConst.KSH_AZA_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等
		parentMap.put("chome_bnchi", keisha_infobean.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_09, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV016007CC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（番号ポータビリティ利用住所情報分割）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016008CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// eo光電話
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.EOTEL);

		if (tel_info.getCount() == 0)
		{
			tel_info.addDataBean();
		}
		if (tel_info.getCount() == 1)
		{
			tel_info.addDataBean();
		}
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		// 番号ポータビリティ利用有無（１）
		String bnp_um1 = tel_infobean1.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);
		// 番号ポータビリティ利用有無（２）
		String bnp_um2 = tel_infobean2.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);

		// 番号ポータビリティ情報フラグを設定します。
		boolean bnp_flg1 = false;
		boolean bnp_flg2 = false;

		int count = 0;

		// 2012.1.22 番ポキャンセル対応 Start ***************************************************************
		/*if (bnp_um1.equals(SENTAKU)) {
			bnp_flg1 = true;
			count = count + 1;
		}
		if (bnp_um2.equals(SENTAKU)) {
			bnp_flg2 = true;
			count = count + 1;
		}*/
		String bnpCancel1 = tel_infobean1.sendMessageString(CommonInfoCFConst.BMP_CANCEL_FLG_12, X31CWebConst.DATABEAN_GET_VALUE);
		String bnpCancel2 = tel_infobean2.sendMessageString(CommonInfoCFConst.BMP_CANCEL_FLG_12, X31CWebConst.DATABEAN_GET_VALUE);
		if (bnp_um1.equals(SENTAKU) && !bmpCancelFlg.equals(bnpCancel1))
		{
			bnp_flg1 = true;
			count = count + 1;
		}
		if (bnp_um2.equals(SENTAKU) && !bmpCancelFlg.equals(bnpCancel2))
		{
			bnp_flg2 = true;
			count = count + 1;
		}
		// 2012.1.22 番ポキャンセル対応 End *****************************************************************
		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			X31SDataBeanAccess telBean_accesser = null;
			// 共有フォームBeanのアクセサを取得します。
			if (bnp_flg1)
			{
				telBean_accesser = tel_infobean1;
			}
			else if (bnp_flg2)
			{
				telBean_accesser = tel_infobean2;
			}

			HashMap<String, Object> parentMap = new HashMap<String, Object>();

			// 共通情報のマッピング
			parentMap.put("func_code", func_code);

			// 番号ポータビリティ利用場所：都道府県・市区町村
			parentMap.put("state_city", telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_STATE_12, X31CWebConst.DATABEAN_GET_VALUE));
			// 番号ポータビリティ利用場所：字
			parentMap.put("aza", telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_AZA_12, X31CWebConst.DATABEAN_GET_VALUE));
			// 番号ポータビリティ利用場所：丁目・番地等
			parentMap.put("chome_bnchi", telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_CHO_BNCHI_12, X31CWebConst.DATABEAN_GET_VALUE));

			// 番号ポータビリティ利用（１番号目）の場合
			if (bnp_flg1)
			{
				outputMap.put("FUSV016008CC", parentMap);
				bnp_flg1 = false;
			}
			// 番号ポータビリティ利用（２番号目）の場合
			else if (bnp_flg2)
			{
				outputMap.put("FUSV016009CC", parentMap);
				bnp_flg2 = false;
			}

		}

		return outputMap;
	}

// ANK-4427-00-00 ADD START
	/**
	 * 上りマッピングをする（番号ポータビリティ利用住所情報分割）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016008TypeNCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess net_infobean = getEonet(web_new_infobean);

		// 番号ポータビリティ利用有無
		String bnp_um1 = net_infobean.sendMessageString(CommonInfoCFConst.USE_BMP_11, X31CWebConst.DATABEAN_GET_VALUE);

		if (!bnp_um1.equals(SENTAKU))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 番号ポータビリティ利用場所：都道府県・市区町村
		parentMap.put("state_city", net_infobean.sendMessageString(CommonInfoCFConst.BMP_STATE_11, X31CWebConst.DATABEAN_GET_VALUE));
		// 番号ポータビリティ利用場所：字
		parentMap.put("aza", net_infobean.sendMessageString(CommonInfoCFConst.BMP_AZA_11, X31CWebConst.DATABEAN_GET_VALUE));
		// 番号ポータビリティ利用場所：丁目・番地等
		parentMap.put("chome_bnchi", net_infobean.sendMessageString(CommonInfoCFConst.BMP_CHO_BNCHI_11, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV016008TypeNCC", parentMap);

		return outputMap;
	}
// ANK-4427-00-00 ADD END

	/**
	 * 上りマッピングをする（モバイル通信機器送付先住所分割）
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016010CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// モバイル
		X31SDataBeanAccess mobile_infobean = getMobile(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 都道府県・市区町村
		parentMap.put("state_city", mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_STATE_CITY_14,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 字
		parentMap.put("aza", mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_AZA_14, X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等
		parentMap.put("chome_bnchi", mobile_infobean.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_CHO_BNCHI_14,
				X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV016010CC", parentMap);

		return outputMap;
	}

	/**
	 * サブオプションサービス契約＜電話＞登録の上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	public HashMap<String, Object> setEKK0431D010(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		ArrayList<Object> list = null;
		list = new ArrayList<Object>();
		HashMap<String, Object> childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess net_infobean = getEonet(web_new_infobean);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(web_new_infobean);
		// 契約サービス情報
		X31SDataBeanAccess contract_infobean = getKeiyakusvcinfo(web_new_infobean);
		//支払い方法
		X31SDataBeanAccess shiharai_type = getPywyInfo(web_new_infobean);

		//更に特定の情報になるまで絞込み
		// 共有フォームBean.ＷＥＢ新規情報.電話コースの数だけ繰り返す（nを0からカウントアップする）
		String telCourse = web_new_infobean.sendMessageString(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE);
		int telCourseCount = 0;
		if (0 < telCourse.length())
		{
			telCourseCount = Integer.parseInt(telCourse);
		}

		for (int i = 0; i < telCourseCount; i++)
		{

			// 非通知着信拒否が選択されていた場合
			// または、あんしん電話パック、またはeo光電話パック７が選択されていた場合
			if (JFUStrConst.HITSUCHI_DNY_CHOICE.equals(bnEotel[i].sendMessageString(CommonInfoCFConst.HITSUCHI_DNY_12,
					X31CWebConst.DATABEAN_GET_VALUE))
				|| JFUStrConst.EASE_PACK_CHOICE.equals(bnEotel[i].sendMessageString(CommonInfoCFConst.EASE_PACK_12,
					X31CWebConst.DATABEAN_GET_VALUE))
				|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(bnEotel[i].sendMessageString(CommonInfoCFConst.EOHTL_PACK7_12,
					X31CWebConst.DATABEAN_GET_VALUE))
			)
			{
				boolean kyohi_flg = false;
				boolean tenso_flg = false;

				int count = 0;

				// 非通知着信拒否１
				if (JFUStrConst.HITSUCHI_DNY_CHOICE.equals(bnEotel[i].sendMessageString(CommonInfoCFConst.HITSUCHI_DNY_12,
						X31CWebConst.DATABEAN_GET_VALUE))
					|| JFUStrConst.EASE_PACK_CHOICE.equals(bnEotel[i].sendMessageString(CommonInfoCFConst.EASE_PACK_12,
						X31CWebConst.DATABEAN_GET_VALUE))
					|| JFUStrConst.EOHTL_PACK7_CHOICE.equals(bnEotel[i].sendMessageString(CommonInfoCFConst.EOHTL_PACK7_12,
						X31CWebConst.DATABEAN_GET_VALUE)))
				{
					kyohi_flg = true;
					count = count + 1;
				}
				// eo光電話パック７
				if (JFUStrConst.EOHTL_PACK7_CHOICE.equals(bnEotel[i].sendMessageString(CommonInfoCFConst.EOHTL_PACK7_12,
						X31CWebConst.DATABEAN_GET_VALUE)))
				{
					tenso_flg = true;
					count = count + 1;
				}

				if (count == 0)
				{
					return null;
				}

				// 必要数分マップを作成します。
				for (int j = 0; j < count; j++)
				{

				childMap = new HashMap<String, Object>();

				// 共通情報のマッピング
				childMap.put("func_code", func_code);

				if (kyohi_flg)
				{
					//サブオプションサービスコード
					childMap.put("sbop_svc_cd", JFUStrConst.CD00137_D08);

					//料金コースコード
					childMap.put("pcrs_cd", JFUStrConst.CD00134_D08);

					//料金プランコード
					childMap.put("pplan_cd", JFUStrConst.CD00565_PD0801);

					kyohi_flg = false;
				}
				else if (tenso_flg)
				{
					//サブオプションサービスコード
					childMap.put("sbop_svc_cd", JFUStrConst.CD00137_D07);

					//料金コースコード
					childMap.put("pcrs_cd", JFUStrConst.CD00134_D07);

					//料金プランコード
					childMap.put("pplan_cd", JFUStrConst.CD00565_PD0701);

					tenso_flg = false;
				}

				//異動区分
				childMap.put("ido_div", getIdoKbn(web_new_infobean));

				//サービス開始希望日
				childMap.put("svc_sta_kibo", net_infobean.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_GET_VALUE));

				//請求契約番号
				childMap.put("seiky_kei_no", shiharai_type.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));

				//更新年月日
				childMap
						.put("upd_dtm_bf", contract_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_MSKM_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

				//申込明細番号
				childMap.put("mskm_dtl_no", bnEotel[i].sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_12, X31CWebConst.DATABEAN_GET_VALUE));

				//「IT2-2012-0001959」対応（サービス契約内訳番号の設定） >>>
				//１番号目、2番合目のどちらに紐付けさせるのかの判断用
				childMap.put("svc_kei_ucwk_no", bnEotel[i].sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
				//「IT2-2012-0001959」対応（サービス契約内訳番号の設定） <<<

				list.add(childMap);
				}
			}
		}

		parentMap.put("EKK0431D010List", list);
		outputMap.put("EKK0431D010", parentMap);

		return outputMap;
	}

	/**
	 * 割引サービス契約登録＜eo光電話パック＞の上りマッピングをする（電話セレクトオプションパック操作ＣＣ）1番号用
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0451D01001(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// eo光電話
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);

		String ease_pack1 = tel_infobean1.sendMessageString(CommonInfoCFConst.EASE_PACK_12, X31CWebConst.DATABEAN_GET_VALUE);
		String eohtl_packthree1 = tel_infobean1.sendMessageString(CommonInfoCFConst.EOHTL_PACK3_12, X31CWebConst.DATABEAN_GET_VALUE);
		String eohtl_packseven1 = tel_infobean1.sendMessageString(CommonInfoCFConst.EOHTL_PACK7_12, X31CWebConst.DATABEAN_GET_VALUE);

		// あんしん電話パックが申し込まれている場合、パック割区分に"3"を設定
		if (JFUStrConst.EASE_PACK_CHOICE.equals(ease_pack1))
		{
			parentMap.put("pack_div", "3");
		}
		// eo光電話パック３が申し込まれている場合、パック割区分に"1"を設定
		else if (JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree1))
		{
			parentMap.put("pack_div", "1");
		}
		// eo光電話パック７が申し込まれている場合、パック割区分に"2"を設定
		else if (JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packseven1))
		{
			parentMap.put("pack_div", "2");
		}

		// 機能コード
		parentMap.put("func_cd", func_code);

		// 処理区分("01"(登録)固定)
		parentMap.put("trn_div", "01");
		// ＳＹＳＩＤ
		parentMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号
		parentMap.put("svc_kei_no", tel_infobean1.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", tel_infobean1.sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込明細番号
		parentMap.put("mskm_dtl_no", tel_infobean1.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
		// 起算日
		parentMap.put("kisan_ymd", opeDate);
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(web_new_infobean));
		// 課金区分("1"(課金)固定)
		parentMap.put("kakin_div", "1");
		// 更新年月日時分秒(更新前)
		parentMap.put("kk0081_upd_dtm", tel_infobean1.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_GET_VALUE));
		// 1番号の申し込みがある("1"固定)(実行判定に使用)
		parentMap.put("telMskm1", "1");

		outputMap.put("EKK0451D01001", parentMap);

		return outputMap;
	}

	/**
	 * 割引サービス契約登録＜eo光電話パック＞の上りマッピングをする（電話セレクトオプションパック操作ＣＣ）2番号用
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0451D01002(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// eo光電話
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		String ease_pack2 = tel_infobean2.sendMessageString(CommonInfoCFConst.EASE_PACK_12, X31CWebConst.DATABEAN_GET_VALUE);
		String eohtl_packthree2 = tel_infobean2.sendMessageString(CommonInfoCFConst.EOHTL_PACK3_12, X31CWebConst.DATABEAN_GET_VALUE);
		String eohtl_packseven2 = tel_infobean2.sendMessageString(CommonInfoCFConst.EOHTL_PACK7_12, X31CWebConst.DATABEAN_GET_VALUE);

		// あんしん電話パックが申し込まれている場合、パック割区分に"3"を設定
		if (JFUStrConst.EASE_PACK_CHOICE.equals(ease_pack2))
		{
			parentMap.put("pack_div", "3");
		}
		// eo光電話パック３が申し込まれている場合、パック割区分に"1"を設定
		else if (JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packthree2))
		{
			parentMap.put("pack_div", "1");
		}
		// eo光電話パック７が申し込まれている場合、パック割区分に"2"を設定
		else if (JFUStrConst.EOHTL_PACK3_CHOICE.equals(eohtl_packseven2))
		{
			parentMap.put("pack_div", "2");
		}

		// 機能コード
		parentMap.put("func_cd", func_code);

		// 処理区分("01"(登録)固定)
		parentMap.put("trn_div", "01");
		// ＳＹＳＩＤ
		parentMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約番号
		parentMap.put("svc_kei_no", tel_infobean2.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約内訳番号
		parentMap.put("svc_kei_ucwk_no", tel_infobean2.sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込明細番号
		parentMap.put("mskm_dtl_no", tel_infobean2.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
		// 起算日
		parentMap.put("kisan_ymd", opeDate);
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(web_new_infobean));
		// 課金区分("1"(課金)固定)
		parentMap.put("kakin_div", "1");
		// 更新年月日時分秒(更新前)
		parentMap.put("kk0081_upd_dtm", tel_infobean2.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_GET_VALUE));
		// 2番号の申し込みがある("1"固定)(実行判定に使用)
		parentMap.put("telMskm2", "1");

		outputMap.put("EKK0451D01002", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングする（割引サービス自動適用CC)
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return
	 * @throws IOException 
	 * @throws ParserConfigurationException 
	 * @throws SAXException 
	 */
	//		@SuppressWarnings("unchecked")
	//		public HashMap<String, Object> setJKKWrisvcAutoAplyCC(X31BWebBusinessLogic bl, X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap,
	//				String func_code) throws Exception
	//		{
	//			// WEB新規情報
	//			X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
	//			// その他情報
	//			X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);
	//	
	//			// マンション情報
	//			X31SDataBeanAccess mansioninfo = getMansioninfo(bnWebinfo);
	//	
	//			// 申込区分
	//			String mskmKbn = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
	//	
	//			// 回線場所選択
	//			//		String kaisenSelect = bnElseinfo.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_GET_VALUE);
	//	
	//			// 加入契約申込条件コード
	//			String knykeiMskmJokenCd = mansioninfo.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
	//	
	//			// サービス追加の場合
	//			if (JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) && !JFUStrConst.KNYKEI_MSKM_JOKEN_IKT.equals(knykeiMskmJokenCd))
	//			{
	//				// 共有フォームBeanから割引サービス自動適用MAPを取得する
	//				HashMap wrisvcAutoAplyMap = JFUWebCommon.getWrisvcAutoAplyInfoAsMap(bl);
	//	
	//				// 追加申込時のセット割対応 2013/01/23 h.iwamoto START
	//	
	//				// 既契約サービス情報
	//				X31SDataBeanAccessArray kkeiSvcInfoArray = bnWebinfo.getDataBeanArray(CommonInfoCFConst.KKEI_SVC_INFO);
	//	
	//				// サービス契約グループリスト取得
	//				ArrayList svcKeiGrpList = (ArrayList)wrisvcAutoAplyMap.get("svc_kei_grp_list");
	//				// サービス契約グループリストからマップ取得
	//				HashMap svcKeiGrpListMap = (HashMap)svcKeiGrpList.get(0);
	//				// サービス契約グループリストマップからサービス契約リスト取得
	//				ArrayList svcKeiList = (ArrayList)svcKeiGrpListMap.get("svc_kei_list");
	//	
	//				for (int i = 0; i < kkeiSvcInfoArray.getCount(); i++)
	//				{
	//					// 既契約サービス情報Bean取得
	//					X31SDataBeanAccess kkeiSvcInfoBean = kkeiSvcInfoArray.getDataBean(i);
	//					// サービス契約リストマップ
	//					HashMap svcKeiListMap = new HashMap();
	//	
	//					// 対象契約識別コード
	//					svcKeiListMap.put("tg_kei_skbt_cd", "01");
	//					// サービス契約番号
	//					svcKeiListMap.put("svc_kei_no", kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_54, X31CWebConst.DATABEAN_GET_VALUE));
	//					// サービス契約ステータス
	//					svcKeiListMap.put("svc_kei_stat", kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_STAT_54,
	//							X31CWebConst.DATABEAN_GET_VALUE));
	//					// サービスコード
	//					svcKeiListMap.put("svc_cd", kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.SVC_CD_54, X31CWebConst.DATABEAN_GET_VALUE));
	//					// 料金グループコード
	//					svcKeiListMap.put("prc_grp_cd", kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_54, X31CWebConst.DATABEAN_GET_VALUE));
	//					// 料金コースコード
	//					svcKeiListMap.put("pcrs_cd", kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PCRS_CD_54, X31CWebConst.DATABEAN_GET_VALUE));
	//					// 料金プランコード
	//					svcKeiListMap.put("pplan_cd", kkeiSvcInfoBean.sendMessageString(CommonInfoCFConst.PPLAN_CD_54, X31CWebConst.DATABEAN_GET_VALUE));
	//					// サービス契約リストにサービス契約リストマップを格納する
	//					svcKeiList.add(svcKeiListMap);
	//				}
	//	
	//				// 追加申込時のセット割対応 2013/01/23 h.iwamoto END
	//	
	//				outputMap.put("JKKWrisvcAutoAplyCCMap", wrisvcAutoAplyMap);
	//			}
	//	
	//			return outputMap;
	//		}
	// No544 2013/03/28 Otsuka Start
	/**
	 * 割引サービス自動適用CC上りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJKKWrisvcAutoAplyCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);

		// 契約サービス情報
		X31SDataBeanAccess keiSvcInfo = getKeiyakusvcinfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約グループリストマップ
		HashMap<String, Object> svcKeiGrpListMap = new HashMap<String, Object>();

		// サービス契約グループリスト
		ArrayList svcKeiGrpList = new ArrayList();

		// SYSID
		parentMap.put(SYSID, bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// 登録／変更区分 "01"
		parentMap.put(ADD_CHGE_DIV, "01");

		// 申込番号
		parentMap.put(MSKM_NO, keiSvcInfo.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 申込種別コード
		// 申込区分が1：新規の場合
		if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KBN_NEW))
		{
			// 申込種別コード
			parentMap.put(MSKM_SBT_CD, "00001");
			// 申込区分が2：追加
		}
		else if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KBN_ADD))
		{
			// 申込種別コード
			parentMap.put(MSKM_SBT_CD, "00002");
		}

		// 異動区分
		parentMap.put(IDO_DIV, getIdoKbn(bnWebinfo));

		// 機能コード
		parentMap.put("func_code", func_code);

		// サービス契約グループリスト.グループ区分
		svcKeiGrpListMap.put(GRP_DIV, "00");

		// サービス契約グループリスト ← サービス契約グループリストマップ
		svcKeiGrpList.add(svcKeiGrpListMap);

		// サービス契約グループリストマップからサービス契約リスト取得
		ArrayList svcKeiList = new ArrayList();

		// ネットの申込がある場合
		if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(keiSvcInfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// eo光ネット情報
			X31SDataBeanAccess eoNetInfo = getEonet(bnWebinfo);

			// サービス契約リストマップ
			HashMap svcKeiListMap = new HashMap();

			// 対象契約識別コード
			svcKeiListMap.put("tg_kei_skbt_cd", "01");
			// サービス契約番号
			svcKeiListMap.put("svc_kei_no", eoNetInfo.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
			// サービス契約ステータス 受付済み
			svcKeiListMap.put("svc_kei_stat", JFUStrConst.CD00037_010);
			// サービスコード インターネットサービス
			svcKeiListMap.put("svc_cd", JFUStrConst.CD00130_01);
			// 料金グループコード
			svcKeiListMap.put("prc_grp_cd", eoNetInfo.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_11, X31CWebConst.DATABEAN_GET_VALUE));
			// 料金コースコード
			svcKeiListMap.put("pcrs_cd", eoNetInfo.sendMessageString(CommonInfoCFConst.PCRS_CD_11, X31CWebConst.DATABEAN_GET_VALUE));
			// 料金プランコード
			svcKeiListMap.put("pplan_cd", eoNetInfo.sendMessageString(CommonInfoCFConst.PPLAN_CD_11, X31CWebConst.DATABEAN_GET_VALUE));
			// サービス契約リストにサービス契約リストマップを格納する
			svcKeiList.add(svcKeiListMap);
		}

		// 電話の申込がある場合
		if (JFUStrConst.SELECT_SVC_TEL_CHOICE.equals(keiSvcInfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// eo光電話情報
			X31SDataBeanAccess[] eoTelInfo = getEotel(bnWebinfo);

			int intCnt = eoTelInfo.length;
			for (int i = 0; i < intCnt; i++)
			{
				// サービス契約リストマップ
				HashMap svcKeiListMap = new HashMap();

				// 対象契約識別コード
				svcKeiListMap.put("tg_kei_skbt_cd", "01");
				// サービス契約番号
				svcKeiListMap.put("svc_kei_no", eoTelInfo[i].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE));

				// サービス契約ステータス 受付済み
				svcKeiListMap.put("svc_kei_stat", JFUStrConst.CD00037_010);
				// サービスコード 電話サービス
				svcKeiListMap.put("svc_cd", JFUStrConst.CD00130_02);
				// 料金グループコード
				svcKeiListMap.put("prc_grp_cd", eoTelInfo[i].sendMessageString(CommonInfoCFConst.PRC_GRP_CD_12, X31CWebConst.DATABEAN_GET_VALUE));
				// 料金コースコード
				svcKeiListMap.put("pcrs_cd", eoTelInfo[i].sendMessageString(CommonInfoCFConst.PCRS_CD_12, X31CWebConst.DATABEAN_GET_VALUE));
				// 料金プランコード
				svcKeiListMap.put("pplan_cd", eoTelInfo[i].sendMessageString(CommonInfoCFConst.PPLAN_CD_12, X31CWebConst.DATABEAN_GET_VALUE));
				// サービス契約リストにサービス契約リストマップを格納する
				svcKeiList.add(svcKeiListMap);
			}
		}

		// テレビの申込がある場合
		if (JFUStrConst.SELECT_SVC_TV_CHOICE
				.equals(keiSvcInfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// eo光テレビ情報
			X31SDataBeanAccess eoTvInfo = getEotv(bnWebinfo);

			// サービス契約リストマップ
			HashMap svcKeiListMap = new HashMap();

			// 対象契約識別コード
			svcKeiListMap.put("tg_kei_skbt_cd", "01");
			// サービス契約番号
			svcKeiListMap.put("svc_kei_no", eoTvInfo.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE));

			// サービス契約ステータス 受付済み
			svcKeiListMap.put("svc_kei_stat", JFUStrConst.CD00037_010);
			// サービスコード テレビサービス
			svcKeiListMap.put("svc_cd", JFUStrConst.CD00130_03);
			// 料金グループコード
			svcKeiListMap.put("prc_grp_cd", eoTvInfo.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_13, X31CWebConst.DATABEAN_GET_VALUE));
			// 料金コースコード
			svcKeiListMap.put("pcrs_cd", eoTvInfo.sendMessageString(CommonInfoCFConst.PCRS_CD_13, X31CWebConst.DATABEAN_GET_VALUE));
			// 料金プランコード
			svcKeiListMap.put("pplan_cd", eoTvInfo.sendMessageString(CommonInfoCFConst.PPLAN_CD_13, X31CWebConst.DATABEAN_GET_VALUE));
			// サービス契約リストにサービス契約リストマップを格納する
			svcKeiList.add(svcKeiListMap);
		}

		// サービス契約グループリストマップにサービス契約リストを設定する
		svcKeiGrpListMap.put("svc_kei_list", svcKeiList);

		// 親マップ ← サービス契約グループリスト
		parentMap.put(SVC_KEI_GRP_LIST, svcKeiGrpList);

// OM-2018-0000699 ADD START
		// 工事費割賦操作ステータス
		if (!JFUWebCommon.isNull(bnWebinfo.sendMessageString(CommonInfoCFConst.STDARD_KOJIHI_PAYWAY_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			parentMap.put(KOJIHI_KAP_OPERATE_STAT, KOJIHI_KAP_OPERATE_STAT_1);
		}
// OM-2018-0000699 ADD END

		outputMap.put("JKKWrisvcAutoAplyCCMap", parentMap);

		return outputMap;
	}

	/**
	 * 割引サービス自動適用CC上りマッピング(モバイル用)
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJKKWrisvcAutoAplyCC2(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス情報
		X31SDataBeanAccess bnKeiyakusvcinfo = getKeiyakusvcinfo(bnWebinfo);
		// 選択サービス モバイル
		String selectSvcMobile = bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_MOBILE_10, X31CWebConst.DATABEAN_GET_VALUE);

		HashMap<String, Object> parentMap = null;

		if (JFUStrConst.SELECT_SVC_MOBILE_CHOICE.equals(selectSvcMobile))
		{
			// サービス契約グループリストマップ
			HashMap<String, Object> svcKeiGrpListMap = new HashMap<String, Object>();

			// サービス契約グループリスト
			ArrayList svcKeiGrpList = new ArrayList();

			parentMap = new HashMap<String, Object>();

			// SYSID
			parentMap.put(SYSID, bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

			// 登録／変更区分 "01"
			parentMap.put(ADD_CHGE_DIV, "01");

			// 申込番号
			parentMap.put(MSKM_NO, bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

			// 申込種別コード
			// 申込区分が1：新規の場合
			if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KBN_NEW))
			{
				// 申込種別コード
				parentMap.put(MSKM_SBT_CD, "00001");
				// 申込区分が2：追加
			}
			else if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KBN_ADD))
			{
				// 申込種別コード
				parentMap.put(MSKM_SBT_CD, "00002");
			}

			// 異動区分
			parentMap.put(IDO_DIV, getIdoKbn(bnWebinfo));

			// 機能コード
			parentMap.put("func_code", func_code);

			// サービス契約グループリスト.グループ区分
			svcKeiGrpListMap.put(GRP_DIV, "00");

			// サービス契約グループリスト ← サービス契約グループリストマップ
			svcKeiGrpList.add(svcKeiGrpListMap);

			// サービス契約グループリストマップからサービス契約リスト取得
			ArrayList svcKeiList = new ArrayList();

			// eoモバイル情報
			X31SDataBeanAccess eoMobileInfo = getMobile(bnWebinfo);

			// サービス契約リストマップ
			HashMap svcKeiListMap = new HashMap();

			// 対象契約識別コード
			svcKeiListMap.put("tg_kei_skbt_cd", "01");
			// サービス契約番号
			svcKeiListMap.put("svc_kei_no", eoMobileInfo.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_14, X31CWebConst.DATABEAN_GET_VALUE));

			// サービス契約ステータス 受付済み
			svcKeiListMap.put("svc_kei_stat", JFUStrConst.CD00037_010);
			// サービスコード インターネットサービス
			svcKeiListMap.put("svc_cd", JFUStrConst.CD00130_01);
			// 料金グループコード
			svcKeiListMap.put("prc_grp_cd", eoMobileInfo.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_14, X31CWebConst.DATABEAN_GET_VALUE));
			// 料金コースコード
			svcKeiListMap.put("pcrs_cd", eoMobileInfo.sendMessageString(CommonInfoCFConst.PCRS_CD_14, X31CWebConst.DATABEAN_GET_VALUE));
			// 料金プランコード
			svcKeiListMap.put("pplan_cd", eoMobileInfo.sendMessageString(CommonInfoCFConst.PPLAN_CD_14, X31CWebConst.DATABEAN_GET_VALUE));
			// サービス契約リストにサービス契約リストマップを格納する
			svcKeiList.add(svcKeiListMap);

			// サービス契約グループリストマップにサービス契約リストを設定する
			svcKeiGrpListMap.put("svc_kei_list", svcKeiList);

			// 親マップ ← サービス契約グループリスト
			parentMap.put(SVC_KEI_GRP_LIST, svcKeiGrpList);
		}

		outputMap.put("JKKWrisvcAutoAplyCCMobileMap", parentMap);

		return outputMap;
	}

	// No544 2013/03/28 Otsuka end

	// ----- 2012/05/17 サービスインターフェイス取込対応 h.iwamoto START -----
	/**
	 * 申込画面入力支援ワーク一意照会への上りマッピングを行う。
	 * 
	 * <br>
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK2201A010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス情報
		X31SDataBeanAccess contract_infobean = getKeiyakusvcinfo(bnWebinfo);

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 申込番号
		parentMap.put("key_mskm_no", contract_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK2201A010", parentMap);

		return outputMap;
	}

	/**
	 * 申込画面入力支援ワーク更新への上りマッピングを行う。
	 * 
	 * <br>
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK2201C010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// PASCO情報
		X31SDataBeanAccess bnPasco = getPascoInfo(bnWebinfo);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);
		// モバイル情報
		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(bnWebinfo);
		// 光テレビ
		X31SDataBeanAccess bnEotv = getEotv(bnWebinfo);
		// 契約サービス情報
		X31SDataBeanAccess contract_infobean = getKeiyakusvcinfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード
		parentMap.put("func_code", func_code);

		// 申込番号
		parentMap.put("mskm_no", contract_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

		// ----IT1-2012-0000441 契約新規障害対応 Otsuka 2012.6.7 start----

		// 追加元サービス契約番号
		String mskm_kbn = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		String addSvcKeiNo = "";

		// 2013/02/11 ST3-2013-0000330 申込支援入力ワーク・追加元サービス契約番号変更対応 Fujiwra Mod Start
		// 回線場所選択
		String kaisenSelect = bnWebinfo.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 追加申込の場合
		if (JFUStrConst.MSKM_KBN_ADD.equals(mskm_kbn))
		{
			// 契約中の回線に追加の場合
			if (JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisenSelect))
			{
				// 同一回線のサービス契約番号を取得
				List<String> keiList = Arrays.asList(
						bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE),
						bnEotel[0].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE),
						bnEotel[1].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE),
						bnEotv.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE),
						bnMobile.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_14, X31CWebConst.DATABEAN_GET_VALUE));

				// 既契約ネット サービス契約番号
				String netSvcKeiNo = "";
				// 既契約電話１ サービス契約番号
				String tel1SvcKeiNo = "";
				// 既契約電話２ サービス契約番号
				String tel2SvcKeiNo = "";
				// 既契約テレビ サービス契約番号
				String tvSvcKeiNo = "";
				// 既契約モバイル サービス契約番号
				String mobileSvcKeiNo = "";

				// 既契約サービス情報を取得
				X31SDataBeanAccessArray bnKkeiSvcInfoList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.KKEI_SVC_INFO);

				// 既契約サービス情報を退避
				for (int i = 0; i < bnKkeiSvcInfoList.getCount(); i++)
				{
					X31SDataBeanAccess bnKkeiSvcInfo = bnKkeiSvcInfoList.getDataBean(i);
					// サービス契約番号
					String svckeiNo = bnKkeiSvcInfo.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_54, X31CWebConst.DATABEAN_GET_VALUE);
					// サービスコード
					String svcCd = bnKkeiSvcInfo.sendMessageString(CommonInfoCFConst.SVC_CD_54, X31CWebConst.DATABEAN_GET_VALUE);
					// 料金グループコード
					String prcGrpCd = bnKkeiSvcInfo.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_54, X31CWebConst.DATABEAN_GET_VALUE);
					// 料金コースコード
					String pcrsCd = bnKkeiSvcInfo.sendMessageString(CommonInfoCFConst.PCRS_CD_54, X31CWebConst.DATABEAN_GET_VALUE);

					// 同一回線のサービス契約番号でない場合は除外
					if (!keiList.contains(svckeiNo))
					{
						continue;
					}

					if (JFUStrConst.CD00130_01.equals(svcCd))
					{
						// モバイルの場合
						if (JFUStrConst.CD00133_07.equals(prcGrpCd) || JFUStrConst.CD00133_08.equals(prcGrpCd)
								|| JFUStrConst.CD00133_09.equals(prcGrpCd))
						{
							mobileSvcKeiNo = svckeiNo;
							// ネットの場合
						}
						else
						{
							netSvcKeiNo = svckeiNo;
						}
					}
					// 電話の場合
					else if (JFUStrConst.CD00130_02.equals(svcCd))
					{
						// １番号の場合
						if (JFUStrConst.CD00134_A31.equals(pcrsCd))
						{
							tel1SvcKeiNo = svckeiNo;
						}
						// ２番号の場合
						else if (JFUStrConst.CD00134_A32.equals(pcrsCd))
						{
							tel2SvcKeiNo = svckeiNo;
						}
					}
					// テレビの場合
					else if (JFUStrConst.CD00130_03.equals(svcCd))
					{
						tvSvcKeiNo = svckeiNo;
					}
				}

				if (netSvcKeiNo.length() > 0)
				{
					addSvcKeiNo = netSvcKeiNo;
				}
				else if (tel1SvcKeiNo.length() > 0)
				{
					addSvcKeiNo = tel1SvcKeiNo;
				}
				else if (tel2SvcKeiNo.length() > 0)
				{
					addSvcKeiNo = tel2SvcKeiNo;
				}
				else if (tvSvcKeiNo.length() > 0)
				{
					addSvcKeiNo = tvSvcKeiNo;
				}
				else if (mobileSvcKeiNo.length() > 0)
				{
					addSvcKeiNo = mobileSvcKeiNo;
				}
			}
		}
		// 2013/02/11 ST3-2013-0000330 申込支援入力ワーク・追加元サービス契約番号変更対応 Fujiwra Mod End
		parentMap.put("add_moto_svc_kei_no", addSvcKeiNo);

		// 申込回線サービス
		String mskm_ksn_svc = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		//申込マンションタイプ
		String mskm_mns_type = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// eo光ネットエリアチェック結果有無フラグ
		String netAreaCheckFlg = "";
		// eo光電話エリアチェック結果有無フラグ
		String telAreaCheckFlg = "";
		// eo光テレビエリアチェック結果有無フラグ
		String tvAreaCheckFlg = "";
		// eo光ネットエリアチェック結果詳細コード
		String netAreaCheckCd = "";
		// eo光テレビエリアチェック結果詳細コード
		String tvAreaCheckCd = "";

		// ホームタイプの場合
		if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskm_ksn_svc))
		{
			// PASCO情報を取得
			String m100mskm_flg = bnPasco.sendMessageString(CommonInfoCFConst.MOBILE_100M_07, X31CWebConst.DATABEAN_GET_VALUE);
			String g1mskm_flg = bnPasco.sendMessageString(CommonInfoCFConst.MOBILE_1G_07, X31CWebConst.DATABEAN_GET_VALUE);
			String g10mskm_flg = bnPasco.sendMessageString(CommonInfoCFConst.MOBILE_10G_07, X31CWebConst.DATABEAN_GET_VALUE);
			String tvFlg = bnPasco.sendMessageString(CommonInfoCFConst.TV_07, X31CWebConst.DATABEAN_GET_VALUE);
			String telFlg = bnPasco.sendMessageString(CommonInfoCFConst.TEL_07, X31CWebConst.DATABEAN_GET_VALUE);

			// ネット
			if (JFUStrConst.MOBILE_10G_MSKM_PSB.equals(g10mskm_flg))
			{
				netAreaCheckFlg = PASCO_YES;
				netAreaCheckCd = PASCO_NET_DETAIL_10G;
			}
			else if (JFUStrConst.MOBILE_1G_MSKM_PSB.equals(g1mskm_flg))
			{
				netAreaCheckFlg = PASCO_YES;
				netAreaCheckCd = PASCO_NET_DETAIL_1G;
			}
			else if (JFUStrConst.MOBILE_100M_MSKM_PSB.equals(m100mskm_flg))
			{
				netAreaCheckFlg = PASCO_YES;
				netAreaCheckCd = PASCO_NET_DETAIL_100M;
			}
			else
			{
				netAreaCheckFlg = PASCO_NOT;
			}

			// 電話
			if (JFUStrConst.TEL_MSKM_PSB_FLG_MSKM_PSB.equals(telFlg))
			{
				telAreaCheckFlg = PASCO_YES;
			}
			else
			{
				telAreaCheckFlg = PASCO_NOT;
			}

			// テレビ
			if (JFUStrConst.TV_MSKM_PSB_FLG_KCAT.equals(tvFlg))
			{
				tvAreaCheckFlg = PASCO_YES; // No268 Otsuka 2013/01/28
				tvAreaCheckCd = PASCO_TV_DETAIL_K_CAT;
			}
			else if (JFUStrConst.TV_MSKM_PSB_FLG_KCN.equals(tvFlg))
			{
				tvAreaCheckFlg = PASCO_YES; // No268 Otsuka 2013/01/28
				tvAreaCheckCd = PASCO_TV_DETAIL_KCN;
			}
			else
			{
				tvAreaCheckFlg = PASCO_NOT; // No268 Otsuka 2013/01/28
			}
		}

		// eo光ネットエリアチェック結果有無
		parentMap.put("eohnt_area_ckrlt_um", netAreaCheckFlg);
		// eo光電話エリアチェック結果有無
		parentMap.put("eohtl_area_ckrlt_um", telAreaCheckFlg);
		// eo光テレビエリアチェック結果有無
		parentMap.put("eohtv_area_ckrlt_um", tvAreaCheckFlg);
		// eo光ネットエリアチェック結果詳細コード
		parentMap.put("eohnt_area_ckrlt_dtail_cd", netAreaCheckCd);
		// eo光テレビエリアチェック結果詳細コード
		parentMap.put("eohtv_area_ckrlt_dtail_cd", tvAreaCheckCd);

		// 緊急通報用契約者名＿契約者名差異フラグ1 (差異なし固定)
		parentMap.put("emgksh_nm_ksh_nm_sai_flg_1", JFUStrConst.SAI_FLG_SAI_NON);

		// 緊急通報用契約者名＿契約者名差異フラグ2 (差異なし固定)
		parentMap.put("emgksh_nm_ksh_nm_sai_flg_2", JFUStrConst.SAI_FLG_SAI_NON);

		// ----IT1-2012-0000441 契約新規障害対応 Otsuka 2012.6.7 end----

		// -----回線場所・契約者住所-----

		// 回線場所＿契約者住所差異フラグ
		String kshadd_cmf = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHADD_CMF_09, X31CWebConst.DATABEAN_GET_VALUE);
		String kaisen_plc_ksh_ad_sai_flg = "";
		if ("1".equals(kshadd_cmf))
		{
			// 1:利用住所と同じ
			kaisen_plc_ksh_ad_sai_flg = "0";
		}
		else if ("2".equals(kshadd_cmf))
		{
			// 2:利用住所と異なる
			kaisen_plc_ksh_ad_sai_flg = "1";
		}
		parentMap.put("kaisen_plc_ksh_ad_sai_flg", kaisen_plc_ksh_ad_sai_flg);

		// 申込優先連絡先識別コード(TODO 契約者優先連絡先識別コードを設定)
		String rrks_choice = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_CHOICE_09, X31CWebConst.DATABEAN_GET_VALUE);
		String mkm_yusen_rrks_skbt_cd = "";
		if ("1".equals(rrks_choice))
		{
			// 1:利用場所と同じ
			mkm_yusen_rrks_skbt_cd = MKM_YUSEN_RRKS_SKBT_CD_RIYOBASHO; //No.624 設定値を契約新規に合わせる
		}
		else if ("2".equals(rrks_choice))
		{
			// 2:契約住所と同じ
			mkm_yusen_rrks_skbt_cd = MKM_YUSEN_RRKS_SKBT_CD_KEIYAKUJUSHO; //No.624 設定値を契約新規に合わせる
		}
		else if ("3".equals(rrks_choice))
		{
			// 3:その他
			mkm_yusen_rrks_skbt_cd = MKM_YUSEN_RRKS_SKBT_CD_ELSE; //No.624 設定値を契約新規に合わせる
		}
		parentMap.put("mkm_yusen_rrks_skbt_cd", mkm_yusen_rrks_skbt_cd);

		// 機器送付先住所識別コード(機器書類送付先住所識別コードを設定)
//ANK-4498-00-00 MOD START
//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）
// ANK-4640-00-00 MOD START
//		if(JFUStrConst.MSKM_KBN_NEW.equals(bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))
//				 && JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskm_mns_type))
// または、メッシュWi-Fi申込あり且つtypeNの場合は、契約者住所を送付先住所に設定
		if((JFUStrConst.MSKM_KBN_NEW.equals(bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))
				 && JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskm_mns_type))
			|| (JFUStrConst.MESH_WIFI_MSKM.equals(bnEonet.sendMessageString(CommonInfoCFConst.MESH_WIFI_11, X31CWebConst.DATABEAN_GET_VALUE)) && !JFUWebCommon.isNull(bnWebinfo.sendMessageString(CommonInfoCFConst.TYPEN_FLG_06, X31CWebConst.DATABEAN_GET_VALUE))))
// ANK-4640-00-00 MOD END
		{
			parentMap.put("kiki_shs_ad_skbt_cd", "2"); // ご契約者住所(現住所)と同じ 固定
		//ホーム・メゾンの申し込みとマンションの契約中回線へのサービス追加申込の場合
		} else {
			parentMap.put("kiki_shs_ad_skbt_cd", "1"); // ご利用場所と同じ 固定
		}
//ANK-4498-00-00 MOD END
		// -----請求書送付先-----

		// 請求書送付先名＿お客様名差異フラグ
		parentMap.put("sks_shs_nm_cust_nm_sai_flg", "0");

		// 請求書送付先住所識別コード(書類送付先識別コード)
		parentMap.put("sks_shs_ad_skbt_cd", "2"); // ご契約者住所(現住所)と同じ 固定

		// -----番号ポータビリティ1番号目-----

		String use_bmp_1 = bnEotel[0].sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);
		if ("1".equals(use_bmp_1))
		{
			// 番号ポータビリティを使用している場合
			//			String bmp_ad_choice = bnEotel[0].sendMessageString(CommonInfoCFConst.BMP_AD_CHOICE_12, X31CWebConst.DATABEAN_GET_VALUE);
			String ntt_kshad_skbt_cd_1 = "3"; // -----ST1-2012-0000103 2012/07/04 "3"(その他)固定とする h.iwamoto-----
			//			String nkys_nm_ksh_nm_sai_flg_1 = "";
			//FindBugs対応			
			//			if ("1".equals(bmp_ad_choice))
			//			{
			//				// 1: 利用場所住所と電話サービス契約住所が同じ
			//				//				ntt_kshad_skbt_cd_1 = "1";			// -----ST1-2012-0000103 2012/07/04 "3"(その他)固定とする h.iwamoto-----
			//				//				nkys_nm_ksh_nm_sai_flg_1 = "1"; // No658 2013/04/12 Otsuka
			//			}
			//			else if ("2".equals(bmp_ad_choice))
			//			{
			//				// 2: 契約者住所と電話サービス契約住所が同じ
			//				//				ntt_kshad_skbt_cd_1 = "2";			// -----ST1-2012-0000103 2012/07/04 "3"(その他)固定とする h.iwamoto-----
			//				//				nkys_nm_ksh_nm_sai_flg_1 = "0";// No658 2013/04/12 Otsuka
			//			}
			//			else if ("3".equals(bmp_ad_choice))
			//			{
			//				// 3:上記以外
			//				//				ntt_kshad_skbt_cd_1 = "3";			// -----ST1-2012-0000103 2012/07/04 "3"(その他)固定とする h.iwamoto-----
			//				//				nkys_nm_ksh_nm_sai_flg_1 = "1";// No658 2013/04/12 Otsuka
			//			}

			// NTT契約者住所識別コード1(TODO 契約者住所電話番号選択識別コードを設定)
			parentMap.put("ntt_kshad_skbt_cd_1", ntt_kshad_skbt_cd_1);
			
			// ANK-2535-00-00_同番移転全チャネル販売対応（STEP2）mod start
			// NTT契約者名＿契約者名差異フラグ1
			String bmp_kshnm_choice = bnEotel[0].sendMessageString(CommonInfoCFConst.BMP_KSHNM_CHOICE_12, X31CWebConst.DATABEAN_GET_VALUE);
			if(NTT_KEINM_KEISHA_SAI_FLG_0.equals(bmp_kshnm_choice))
			{
				// 登録対応：0→1
				bmp_kshnm_choice = NTT_KEINM_KEISHA_SAI_FLG_1;
			}
			else if(NTT_KEINM_KEISHA_SAI_FLG_1.equals(bmp_kshnm_choice))
			{
				// 登録対応：1→0
				bmp_kshnm_choice = NTT_KEINM_KEISHA_SAI_FLG_0;
			}
			parentMap.put("nkys_nm_ksh_nm_sai_flg_1", bmp_kshnm_choice); 
			// ANK-2535-00-00_同番移転全チャネル販売対応（STEP2）mod end
		}
		else
		{
			// NTT契約者住所識別コード1(TODO 契約者住所電話番号選択識別コードを設定)
			parentMap.put("ntt_kshad_skbt_cd_1", "");
			// NTT契約者名＿契約者名差異フラグ1
			parentMap.put("nkys_nm_ksh_nm_sai_flg_1", "");
		}
		// -----番号ポータビリティ2番号目-----
		String use_bmp_2 = bnEotel[1].sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);
		if ("1".equals(use_bmp_2))
		{
			// 番号ポータビリティを使用している場合
			String bmp_ad_choice_2 = bnEotel[1].sendMessageString(CommonInfoCFConst.BMP_AD_CHOICE_12, X31CWebConst.DATABEAN_GET_VALUE);
			String ntt_kshad_skbt_cd_2 = "3"; // -----ST1-2012-0000103 2012/07/04 "3"(その他)固定とする h.iwamoto-----
			//			String nkys_nm_ksh_nm_sai_flg_2 = "";
			if ("1".equals(bmp_ad_choice_2))
			{
				// 1: 利用場所住所と電話サービス契約住所が同じ
				//				ntt_kshad_skbt_cd_2 = "1";			// -----ST1-2012-0000103 2012/07/04 "3"(その他)固定とする h.iwamoto-----
				//				nkys_nm_ksh_nm_sai_flg_2 = "1"; // No658 2013/04/12 Otsuka
			}
			else if ("2".equals(bmp_ad_choice_2))
			{
				// 2: 契約者住所と電話サービス契約住所が同じ
				//				ntt_kshad_skbt_cd_2 = "2";			// -----ST1-2012-0000103 2012/07/04 "3"(その他)固定とする h.iwamoto-----
				//				nkys_nm_ksh_nm_sai_flg_2 = "0";// No658 2013/04/12 Otsuka
			}
			else if ("3".equals(bmp_ad_choice_2))
			{
				// 3:上記以外
				//				ntt_kshad_skbt_cd_2 = "3";			// -----ST1-2012-0000103 2012/07/04 "3"(その他)固定とする h.iwamoto-----
				//				nkys_nm_ksh_nm_sai_flg_2 = "1";// No658 2013/04/12 Otsuka
			}
			// NTT契約者住所識別コード2(TODO 契約者住所電話番号選択識別コードを設定)
			parentMap.put("ntt_kshad_skbt_cd_2", ntt_kshad_skbt_cd_2);
			// ANK-2535-00-00_同番移転全チャネル販売対応（STEP2）mod start
			// NTT契約者名＿契約者名差異フラグ1
			String bmp_kshnm_choice = bnEotel[1].sendMessageString(CommonInfoCFConst.BMP_KSHNM_CHOICE_12, X31CWebConst.DATABEAN_GET_VALUE);
			if(NTT_KEINM_KEISHA_SAI_FLG_0.equals(bmp_kshnm_choice))
			{
				// 登録対応：0→1
				bmp_kshnm_choice = NTT_KEINM_KEISHA_SAI_FLG_1;
			}
			else if(NTT_KEINM_KEISHA_SAI_FLG_1.equals(bmp_kshnm_choice))
			{
				// 登録対応：1→0
				bmp_kshnm_choice = NTT_KEINM_KEISHA_SAI_FLG_0;
			}
			parentMap.put("nkys_nm_ksh_nm_sai_flg_2", bmp_kshnm_choice); 
			// ANK-2535-00-00_同番移転全チャネル販売対応（STEP2）mod end
		}
		else
		{
			// NTT契約者住所識別コード2(TODO 契約者住所電話番号選択識別コードを設定)
			parentMap.put("ntt_kshad_skbt_cd_2", "");
			// NTT契約者名＿契約者名差異フラグ2
			parentMap.put("nkys_nm_ksh_nm_sai_flg_2", "");
		}

		// No338 Otsuka 2013/02/04 start
		//電話1タブTDIS情報制御コード
		parentMap.put("tel_1_tab_tdis_if_ctl_cd", "0");
		//電話2タブTDIS情報制御コード
		parentMap.put("tel_2_tab_tdis_if_ctl_cd", "0");
		// No338 Otsuka 2013/02/04 end

		// -----モバイル-----

		// モバイル機器送付先住所識別コード(TODO 機器書類送付先住所識別コードを設定)
		String kikiSohuSbt = bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_SOHU_SBT_14, X31CWebConst.DATABEAN_GET_VALUE);

		String mbl_kiki_shs_ad_skbt_cd = "";
		if ("1".equals(kikiSohuSbt))
		{
			// 利用場所と同じ
			mbl_kiki_shs_ad_skbt_cd = "1";
		}
		else if ("2".equals(kikiSohuSbt))
		{
			// 契約者住所と同じ
			mbl_kiki_shs_ad_skbt_cd = "2";
		}
		else if ("3".equals(kikiSohuSbt))
		{
			// 異なる住所に送付
			mbl_kiki_shs_ad_skbt_cd = "4";
		}
		else
		{
			// モバイルが選択されていない場合
			mbl_kiki_shs_ad_skbt_cd = "";
		}
		parentMap.put("mbl_kiki_shs_ad_skbt_cd", mbl_kiki_shs_ad_skbt_cd);

		outputMap.put("EKK2201C010", parentMap);

		return outputMap;
	}

	// ----- 2012/05/17 サービスインターフェイス取込対応 h.iwamoto END -----

	// 2012/06/15 量販・訪販対応履歴連携処理追加 START
	/**
	 * 上りマッピングをする（キューBOXMYBOX現在格納数一覧照会）
	 * 
	 * @param bean サービスフォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 * 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016025SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// その他情報.担当者ＩＤ → キューBOXMYBOX現在格納数一覧照会.ＫＥＹ＿ユーザーID
		parentMap.put("key_user_id", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_ID_18, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV016025SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（対応記録登録）
	 * 
	 * @param bean サービスフォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 * 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016026SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 対応履歴連携サービス [0]サービス契約番号 [1]タイトル
		String CrRenkeiSvc[] = getCrRenkeiSvc(bnWebinfo);

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// その他情報.担当者ＩＤ → 対応記録登録.対応ユーザーＩＤ
		parentMap.put("taio_user_id", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_ID_18, X31CWebConst.DATABEAN_GET_VALUE));

		// サービス契約番号 → 対応記録登録.サービス契約番号
		parentMap.put("svc_kei_no", CrRenkeiSvc[0]);

		// 対応開始年月日時分秒 → 対応記録登録.対応開始年月日時分秒
		parentMap.put("taio_sta_dtm", opeDate);

		// 問合せ受付種別コード → 記録登録.問合せ受付種別コード
		parentMap.put("toiawase_uk_sbt_cd", JFUStrConst.INQ_UK_SBT_CD_OTHER);

		// タイトル → 記録登録.タイトル
		parentMap.put("title", CrRenkeiSvc[1]);

		// 受付年月日時分秒 → 対応記録登録.受付年月日時分秒
		parentMap.put("uk_dtm", opeDate);

		// 一時保存有無 → 記録登録.一時保存有無
		parentMap.put("tmp_save_um", JFUStrConst.TMP_SAVE_UM_0);

		// その他情報.担当者ＩＤ → 記録登録.ログインユーザーＩＤ
		parentMap.put("login_user_id", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_ID_18, X31CWebConst.DATABEAN_GET_VALUE));

		// その他情報.担当者名 → 記録登録.ログインユーザー名
		parentMap.put("login_user_nm", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_NM_18, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV016026SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（対応記録明細登録（新規登録））
	 * 
	 * @param bean サービスフォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 * 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016027SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 対応履歴連携サービス [0]サービス契約番号 [1]タイトル
		String CrRenkeiSvc[] = getCrRenkeiSvc(bnWebinfo);

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// アクション開始年月日時分秒 → 対応記録明細登録.アクション開始年月日時分秒
		parentMap.put("action_sta_dtm", opeDate);

		// アクション完了年月日時分秒 → 対応記録明細登録.アクション完了年月日時分秒
		parentMap.put("action_fin_dtm", opeDate);

		// その他情報.担当者ＩＤ → 対応記録明細登録.対応ユーザーＩＤ
		parentMap.put("taio_user_id", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_ID_18, X31CWebConst.DATABEAN_GET_VALUE));

		// その他情報.担当者ＩＤ → 対応記録明細登録.ログインユーザーＩＤ
		parentMap.put("login_user_id", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_ID_18, X31CWebConst.DATABEAN_GET_VALUE));

		// その他情報.担当者名 → 対応記録明細登録.ログインユーザー名
		parentMap.put("login_user_nm", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_NM_18, X31CWebConst.DATABEAN_GET_VALUE));

		// クローズ不可コード → 記録登録.クローズ不可コード
		parentMap.put("close_fail_cd", JFUStrConst.CLOSE_FAIL_CD_0);

		// サービス契約番号 → 対応記録明細登録.サービス契約番号
		parentMap.put("svc_kei_no", CrRenkeiSvc[0]);

		outputMap.put("FUSV016027SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（対応記録ホットボイスマップ）
	 * 
	 * @param bean サービスフォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 * 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setADDHOTVOICCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		HashMap rspCtgrListMap = new HashMap();
		HashMap uwCtgrnListMap = new HashMap();
		ArrayList rspCtgrList = new ArrayList();
		ArrayList uwCtgrnList = new ArrayList();
		String CtgrNm = ctgrNm1;
		int roopCnt = 2;

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 対応記録内訳番号 → 対応記録ホットボイスマップ.応対区分カテゴリーリスト.対応記録内訳番号
		rspCtgrListMap.put("taio_kirok_ucwk_no", "0000000001");

		// 問合せ応対区分 → 対応記録ホットボイスマップ.問合せ応対区分
		rspCtgrListMap.put("toiawase_rsp_div", JFUStrConst.CD00234_03);

		// 表示順序 → 対応記録ホットボイスマップ.応対区分カテゴリーリスト.表示順序
		rspCtgrListMap.put("dsp_jun", JFUStrConst.DSP_JUN_1);

		// 対応記録内訳抽出ワーク作成区分 → 対応記録ホットボイスマップ.応対区分カテゴリーリスト.対応記録内訳抽出ワーク作成区分
		rspCtgrListMap.put("tiokr_uw_cst_wk_add_div", JFUStrConst.CD00552_5);

		// 編集状態フラグ → 対応記録ホットボイスマップ.応対区分カテゴリーリスト.編集状態フラグ
		rspCtgrListMap.put("henshu_stat_flg", JFUStrConst.HENSHU_STAT_FLG_0);

		for (int i = 0; i < roopCnt; i++)
		{
			uwCtgrnListMap = new HashMap();

			if (i == 0)
			{
				// 対応記録内訳番号 → 対応記録ホットボイスマップ.カテゴリーＮリスト.対応記録内訳番号
				uwCtgrnListMap.put("taio_kirok_ucwk_no", "0000000001");

				// 対応記録内訳カテゴリーレベル → 対応記録ホットボイスマップ.カテゴリーＮリスト.対応記録内訳カテゴリーレベル
				uwCtgrnListMap.put("taiokrk_uw_ctgr_lv", "001");

				// 対応記録内訳カテゴリーレベル → 対応記録ホットボイスマップ.カテゴリーＮリスト.上位連結カテゴリー名
				// 権限リスト.組織コードを設定する
				uwCtgrnListMap.put("joi_rnkt_ctgr_nm", "Z000042092");

				// 下位カテゴリー有無 → 対応記録ホットボイスマップ.カテゴリーＮリスト.下位カテゴリー有無
				uwCtgrnListMap.put("kai_ctgr_um", "1");

				// 対応記録内訳カテゴリー名 → 対応記録ホットボイスマップ.カテゴリーＮリスト.対応記録内訳カテゴリー名
				uwCtgrnListMap.put("taiokrk_uw_ctgr_nm", ctgrNm1);

				// クローズ不可コード → 対応記録ホットボイスマップ.カテゴリーＮリスト.クローズ不可コード
				uwCtgrnListMap.put("close_fail_cd", JFUStrConst.CLOSE_FAIL_CD_0);

				// 編集状態フラグ → 対応記録ホットボイスマップ.カテゴリーＮリスト.編集状態フラグ
				uwCtgrnListMap.put("henshu_stat_flg", JFUStrConst.HENSHU_STAT_FLG_0);

				// その他情報.担当者ＩＤ → 対応記録ホットボイスマップ.カテゴリーＮリスト.ログインユーザーＩＤ
				uwCtgrnListMap.put("login_user_id", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_ID_18, X31CWebConst.DATABEAN_GET_VALUE));

				// その他情報.担当者名 → 対応記録ホットボイスマップ.カテゴリーＮリスト.ログインユーザー名
				uwCtgrnListMap.put("login_user_nm", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_NM_18, X31CWebConst.DATABEAN_GET_VALUE));

				// 処理済フラグ → 対応記録ホットボイスマップ.カテゴリーＮリスト.処理済フラグ
				uwCtgrnListMap.put("syrzm_flg", "0");

			}

			if (i == 1)
			{
				// 対応記録内訳番号 → 対応記録ホットボイスマップ.カテゴリーＮリスト.対応記録内訳番号
				uwCtgrnListMap.put("taio_kirok_ucwk_no", "0000000001");

				// 対応記録内訳カテゴリーレベル → 対応記録ホットボイスマップ.カテゴリーＮリスト.対応記録内訳カテゴリーレベル
				uwCtgrnListMap.put("taiokrk_uw_ctgr_lv", "002");

				// 対応記録内訳カテゴリーレベル → 対応記録ホットボイスマップ.カテゴリーＮリスト.上位連結カテゴリー名
				uwCtgrnListMap.put("joi_rnkt_ctgr_nm", JPCUtilCommon.fillHalfSpace(CtgrNm, 148, false));

				// 下位カテゴリー有無 → 対応記録ホットボイスマップ.カテゴリーＮリスト.下位カテゴリー有無
				uwCtgrnListMap.put("kai_ctgr_um", "1");

				// 対応記録内訳カテゴリー名 → 対応記録ホットボイスマップ.カテゴリーＮリスト.対応記録内訳カテゴリー名
				uwCtgrnListMap.put("taiokrk_uw_ctgr_nm", ctgrNm2);

				// クローズ不可コード → 対応記録ホットボイスマップ.カテゴリーＮリスト.クローズ不可コード
				uwCtgrnListMap.put("close_fail_cd", JFUStrConst.CLOSE_FAIL_CD_0);

				// 編集状態フラグ → 対応記録ホットボイスマップ.カテゴリーＮリスト.編集状態フラグ
				uwCtgrnListMap.put("henshu_stat_flg", JFUStrConst.HENSHU_STAT_FLG_0);

				// その他情報.担当者ＩＤ → 対応記録ホットボイスマップ.カテゴリーＮリスト.ログインユーザーＩＤ
				uwCtgrnListMap.put("login_user_id", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_ID_18, X31CWebConst.DATABEAN_GET_VALUE));

				// その他情報.担当者名 → 対応記録ホットボイスマップ.カテゴリーＮリスト.ログインユーザー名
				uwCtgrnListMap.put("login_user_nm", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_NM_18, X31CWebConst.DATABEAN_GET_VALUE));

				// 処理済フラグ → 対応記録ホットボイスマップ.カテゴリーＮリスト.処理済フラグ
				rspCtgrListMap.put("syrzm_flg", "0");
			}

			uwCtgrnList.add(uwCtgrnListMap);
		}

		rspCtgrListMap.put("UW_CTGRN_List", uwCtgrnList);

		rspCtgrList.add(rspCtgrListMap);

		parentMap.put("RSP_CTGR_List", rspCtgrList);

		outputMap.put("ADDHOTVOICCC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（対応記録クローズ）
	 * 
	 * @param bean サービスフォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 * 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016029SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 対応完了年月日時分秒 → 対応記録登録.対応完了年月日時分秒
		parentMap.put("taio_fin_dtm", opeDate);

		// サービス契約番号 → 対応記録登録.対応クローズ年月日時分秒
		parentMap.put("last_end_dtm", opeDate);

		// アクション開始年月日時分秒 → 記録登録.アクション開始年月日時分秒
		parentMap.put("action_sta_dtm", opeDate);

		// アクション完了年月日時分秒 → 記録登録.アクション完了年月日時分秒
		parentMap.put("action_fin_dtm", opeDate);

		// その他情報.担当者ＩＤ → 対応記録明細登録.対応ユーザーＩＤ
		parentMap.put("taio_user_id", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_ID_18, X31CWebConst.DATABEAN_GET_VALUE));

		// その他情報.担当者名 → 記録登録.ログインユーザー名
		parentMap.put("login_user_nm", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_NM_18, X31CWebConst.DATABEAN_GET_VALUE));

		// ＰＡＲ＿対応ユーザーID → 記録登録.ＰＡＲ＿対応ユーザーID
		parentMap.put("par_taio_user_id", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_ID_18, X31CWebConst.DATABEAN_GET_VALUE));

		// 対応開始年月日時分秒 → 記録登録.対応開始年月日時分秒
		parentMap.put("taio_sta_dtm", opeDate);

		outputMap.put("FUSV016029SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（申込断面更新CC）
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setMskmDmenXmlMap(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);

		// 申込断面システム情報
		HashMap mskmDmenSysInfo = new HashMap();

// ANK-3112-00-00 ADD START
		// 販売タイプ
		String hanbaiType = bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		String auShop = bnElseinfo.sendMessageString(CommonInfoCFConst.AU_SHOP_TRAT_FLG_18, X31CWebConst.DATABEAN_GET_VALUE);

		// 申込断面コメント
		StringBuffer mskmDmenComment = new StringBuffer();

		// 訪販、ａｕショップの場合
		if (JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType) || JFUStrConst.AU_SHOP_TRAT_FLG_AU.equals(auShop))
	{
			// 連絡事項コメント
			StringBuffer rrkJikoComment = new StringBuffer();

			// 連絡事項１
			boolean rrkJiko1 = bean[1].sendMessageBoolean(FUW00943SFConst.RRK_JIKO_1, X31CWebConst.DATABEAN_GET_VALUE);
			if (rrkJiko1)
		{
				rrkJikoComment.append(MDC_RRK_JIKO_1);
				rrkJikoComment.append(MDC_KIBO);
				rrkJikoComment.append(JFUStrConst.SPACE);
		}
			
			// 連絡事項２（曜日）
			String rrkJiko2Dow = bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_2_DOW, X31CWebConst.DATABEAN_GET_VALUE);
			boolean rrkJiko2DowFlg = false;
			if (RRK_JIKO_2_DOW_HEIJITU.equals(rrkJiko2Dow))
			{
				rrkJikoComment.append(MDC_RRK_JIKO_2);
				rrkJikoComment.append(MDC_HEIJITU);
				rrkJiko2DowFlg = true;
			}
			else if (RRK_JIKO_2_DOW_DONICHI.equals(rrkJiko2Dow))
			{
				rrkJikoComment.append(MDC_RRK_JIKO_2);
				rrkJikoComment.append(MDC_DONICHI);
				rrkJiko2DowFlg = true;
			}
			
			// 連絡事項２（時間）
			String rrkJiko2Kbtmz = bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_2_KBTMZ, X31CWebConst.DATABEAN_GET_VALUE);
			if (rrkJiko2DowFlg)
			{
				if (RRK_JIKO_2_KBTMZ_AM.equals(rrkJiko2Kbtmz))
				{
					rrkJikoComment.append(JFUStrConst.SLASH);
					rrkJikoComment.append(MDC_AM);
				}
				else if (RRK_JIKO_2_KBTMZ_PM.equals(rrkJiko2Kbtmz))
				{
					rrkJikoComment.append(JFUStrConst.SLASH);
					rrkJikoComment.append(MDC_PM);
				}
				rrkJikoComment.append(JFUStrConst.SPACE);
			}
			else
			{
				if (RRK_JIKO_2_KBTMZ_AM.equals(rrkJiko2Kbtmz))
				{
					rrkJikoComment.append(MDC_RRK_JIKO_2);
					rrkJikoComment.append(MDC_AM);
					rrkJikoComment.append(JFUStrConst.SPACE);
				}
				else if (RRK_JIKO_2_KBTMZ_PM.equals(rrkJiko2Kbtmz))
				{
					rrkJikoComment.append(MDC_RRK_JIKO_2);
					rrkJikoComment.append(MDC_PM);
					rrkJikoComment.append(JFUStrConst.SPACE);
				}
			}
			
			// 連絡事項３
			boolean rrkJiko3 = bean[1].sendMessageBoolean(FUW00943SFConst.RRK_JIKO_3, X31CWebConst.DATABEAN_GET_VALUE);
			if (rrkJiko3)
			{
				rrkJikoComment.append(MDC_RRK_JIKO_3);
				rrkJikoComment.append(MDC_KIBO);
				rrkJikoComment.append(JFUStrConst.SPACE);
			}
			
			// 連絡事項４
			boolean rrkJiko4 = bean[1].sendMessageBoolean(FUW00943SFConst.RRK_JIKO_4, X31CWebConst.DATABEAN_GET_VALUE);
			if (rrkJiko4)
			{
				rrkJikoComment.append(MDC_RRK_JIKO_4);
				rrkJikoComment.append(MDC_KIBO);
				rrkJikoComment.append(JFUStrConst.SPACE);
			}
			
			// 連絡事項５
			String rrkJiko5 = bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_5, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUWebCommon.isNull(rrkJiko5))
			{
				rrkJikoComment.append(MDC_RRK_JIKO_5);
				rrkJikoComment.append(rrkJiko5);
				rrkJikoComment.append(JFUStrConst.SPACE);
			}
			
			// 連絡事項６
			String rrkJiko6 = bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_6, X31CWebConst.DATABEAN_GET_VALUE);
			if (RRK_JIKO_6_BETUYOTO.equals(rrkJiko6))
			{
				rrkJikoComment.append(MDC_RRK_JIKO_6);
				rrkJikoComment.append(MDC_BETUYOTO);
				rrkJikoComment.append(JFUStrConst.SPACE);
			}
			else if (RRK_JIKO_6_BETUTOU.equals(rrkJiko6))
			{
				rrkJikoComment.append(MDC_RRK_JIKO_6);
				rrkJikoComment.append(MDC_BETUTOU);
				rrkJikoComment.append(JFUStrConst.SPACE);
			}
			else if (RRK_JIKO_6_BETUAD.equals(rrkJiko6))
			{
				rrkJikoComment.append(MDC_RRK_JIKO_6);
				rrkJikoComment.append(MDC_BETUAD);
				rrkJikoComment.append(JFUStrConst.SPACE);
			}
			
			// 連絡事項８（入居予定日）（年）
			String rrkJiko8Yaer = bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_8_YEAR, X31CWebConst.DATABEAN_GET_VALUE);
			// 連絡事項８（入居予定日）（月）
			String rrkJiko8Month = bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_8_MONTH, X31CWebConst.DATABEAN_GET_VALUE);
			// 連絡事項８（入居予定日）（日）
			String rrkJiko8Day = bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_8_DAY, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUWebCommon.isNull(rrkJiko8Yaer))
			{
				rrkJikoComment.append(MDC_RRK_JIKO_8);
				rrkJikoComment.append(rrkJiko8Yaer);
				rrkJikoComment.append(MDC_YEAR);
				rrkJikoComment.append(rrkJiko8Month);
				rrkJikoComment.append(MDC_MONTH);
				rrkJikoComment.append(rrkJiko8Day);
				rrkJikoComment.append(MDC_DAY);
				rrkJikoComment.append(JFUStrConst.SPACE);
			}
			
			// 連絡事項７
			String rrkJiko7 = bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_7, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUWebCommon.isNull(rrkJiko7))
			{
				rrkJikoComment.append(MDC_RRK_JIKO_7);
				rrkJikoComment.append(rrkJiko7);
				rrkJikoComment.append(JFUStrConst.SPACE);
			}
			
			// 連絡事項に設定されている場合
			if (!JFUWebCommon.isNull(rrkJikoComment.toString()))
			{
				// 区切り
				mskmDmenComment.append(MDC_KUGIRI);
				mskmDmenComment.append(JFUStrConst.RETURN_CODE);
				
				// 作成者
				mskmDmenComment.append(MDC_SKSSHA);
				mskmDmenComment.append(bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_ID_18, X31CWebConst.DATABEAN_GET_VALUE));
				mskmDmenComment.append(JFUStrConst.KIGOU_KAKKO_STA);
				mskmDmenComment.append(bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_NM_18, X31CWebConst.DATABEAN_GET_VALUE));
				mskmDmenComment.append(JFUStrConst.KIGOU_KAKKO_END);
				mskmDmenComment.append(JFUStrConst.HALF_SPACE);
				
				// 作成日時
				mskmDmenComment.append(JPCUtilCommon.formatDatetimeSS(JCCWebCommon.getSysDateTime()));
				mskmDmenComment.append(JFUStrConst.RETURN_CODE);
				
				// コメント
				mskmDmenComment.append(MDC_COMMENT);
				mskmDmenComment.append(JFUStrConst.RETURN_CODE);
				
				// 連絡事項
				mskmDmenComment.append(rrkJikoComment.toString());
			}
		}
		else if (JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbaiType))
		{
			// ■auショップ以外の量販
			// 連絡事項コメント
			String comment = getRyohanMskmDmenComment(bean);
			if (!JFUWebCommon.isNull(comment))
			{
				// 区切り
				mskmDmenComment.append(MDC_KUGIRI);
				mskmDmenComment.append(JFUStrConst.RETURN_CODE);
				mskmDmenComment.append(comment);
			}
		}
		
		// 申込断面コメントを設定する
		mskmDmenSysInfo.put("mskm_dmen_comment", mskmDmenComment.toString());
// ANK-3112-00-00 ADD END

		// 更新前更新年月日時分秒を取得する
		mskmDmenSysInfo.put("upd_dtm_bf", bnElseinfo.sendMessageString(CommonInfoCFConst.UPD_DTM_BF_MSKM_DMEN_18, X31CWebConst.DATABEAN_GET_VALUE));

		// 申込断面システム情報を設定する
		outputMap.put("mskm_dmen_sys_info", mskmDmenSysInfo);

		return outputMap;
	}

	// 2012/06/15 量販・訪販対応履歴連携処理追加 END

	/**
	 * 共有フォームBeanの値より、異動区分を取得する
	 * 
	 * <br>
	 * @param bnWebinfo　WEB新規情報
	 * @return String
	 */
	private String getIdoKbn(X31SDataBeanAccess bnWebinfo)
	{
		String retString = "";

		// 申込区分が1：新規の場合
		if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KBN_NEW))
		{
			retString = JFUStrConst.CD00576_00001;
			// 申込区分が2：追加
		}
		else if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KBN_ADD))
		{
			retString = JFUStrConst.CD00576_00002;
		}

		return retString;
	}

	/**
	 *  住所未確定フラグを取得する
	 * 
	 * <br>
	 * @param bnRiyobasyoinfo 利用場所情報
	 * @return String
	 */
	private String getAdMiFixFlg(X31SDataBeanAccess bnRiyobasyoinfo)
	{
		// 2013/01/28 Otsuka start
		String retString = "";

		// 住所未確定フラグ
		retString = bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.SETPLACE_BNCHI_08, X31CWebConst.DATABEAN_GET_VALUE);
		// 0（確定）
		if (retString.length() == 0)
		{
			// 番地確定有無が設定されていない場合、"0"（確定）を設定
			retString = JFUStrConst.CD00467_0;
		}
		else if (JFUStrConst.SETPLACE_BNCHI_KAKUTEI.equals(retString))
		{
			// 番地確定の場合は"0"（確定）を設定
			retString = JFUStrConst.CD00467_0;
		}
		else if ("0".equals(retString))
		{
			// 番地未確定の場合は"1"（未確定）を設定
			retString = JFUStrConst.CD00467_1;
		}
		else if (JFUStrConst.SETPLACE_BNCHI_MIKAKUTEI.equals(retString))
		{
			// 番地未確定の場合は"1"（未確定）を設定
			retString = JFUStrConst.CD00467_1;
		}
		// 2013/01/28 Otsuka end
		return retString;
	}

	/**
	 *  請求契約番号を取得する
	 * 
	 * <br>
	 * @param cash_infobean　支払い情報情報
	 * @return String
	 */
	private String getSeikyKeiNo(X31SDataBeanAccess cash_infobean)
	{
		String retString = "";
		String hktgFlg = "";

		hktgFlg = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);

		retString = cash_infobean.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE);
		// 請求契約番号
		if (hktgFlg.equals(JFUStrConst.CD00731_1))
		{
			retString = cash_infobean.sendMessageString(CommonInfoCFConst.HKTGI_SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE);
		}

		return retString;
	}

	/**
	 * WEB新規情報
	 * 
	 * @param bean
	 * @return bn
	 */
	private X31SDataBeanAccess getWebInfo(X31SDataBeanAccess bean)
	{
		X31SDataBeanAccessArray arr = bean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn = arr.getDataBean(0);

		return bn;
	}

	/**
	 * PASCO情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getPascoInfo(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.PASCO_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 支払い方法情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getPywyInfo(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.PAYWAY_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 契約サービス情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getKeiyakusvcinfo(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * モバイル情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getMobile(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.EOMOBILE);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 光ネット
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getEonet(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.EONET);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 光TV
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getEotv(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.EOTV);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 光電話
	 * 
	 * @param bn
	 * @return bnEotel[]
	 */
	private X31SDataBeanAccess[] getEotel(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray aryEoTel = bn.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess[] bnEotel = null;
		// 光電話２レコード作成
		int cntTel = aryEoTel.getCount();
		if (cntTel == 0)
		{
			bnEotel = new X31SDataBeanAccess[2];
			for (int i = 0; i < 2; i++)
			{
				aryEoTel.addDataBean();
				bnEotel[i] = aryEoTel.getDataBean(i);
			}
		}
		else
		{
			bnEotel = new X31SDataBeanAccess[cntTel];
			for (int i = 0; i < cntTel; i++)
			{
				bnEotel[i] = aryEoTel.getDataBean(i);
			}
		}
		return bnEotel;
	}

	/**
	 * 契約者情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getKeiyakuinfo(X31SDataBeanAccess bn)
	{

		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 利用場所情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getRiyobasyoinfo(X31SDataBeanAccess bn)
	{

		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.RIYOBASHO_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * リダイレクト情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getRedirectinfo(X31SDataBeanAccess bn)
	{

		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.REDIRECT_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * その他情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getElseInfo(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.ELSE_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 *  契約者氏名（漢字）を取得する
	 * 
	 * <br>
	 * @param bnWebinfo WEB新規情報
	 * @param bnKeiyakuinfo　契約者情報
	 * @return String
	 */
	private String getKshnm(X31SDataBeanAccess bnWebinfo, X31SDataBeanAccess bnKeiyakuinfo)
	{
		String retString = "";

		String kiyk_sbt = bnWebinfo.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		if (kiyk_sbt.equals(JFUStrConst.KEI_SBT_KOJINCD))
		{
			// 個人の場合
			// 契約者氏名
			retString =
					bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHNM_SEI_09, X31CWebConst.DATABEAN_GET_VALUE) + ZENKAKU_SPACE
							+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHNM_NM_09, X31CWebConst.DATABEAN_GET_VALUE);

		}
		else if (kiyk_sbt.equals(JFUStrConst.KEI_SBT_HOJINCD))
		{
			// 法人の場合
			// 法人名
			retString = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_GET_VALUE);
		}

		return retString;
	}

	/**
	 *  契約者氏名（カナ）を取得する
	 * 
	 * <br>
	 * @param bnWebinfo WEB新規情報
	 * @param bnKeiyakuinfo　契約者情報
	 * @return String
	 */
	private String getKshnmKna(X31SDataBeanAccess bnWebinfo, X31SDataBeanAccess bnKeiyakuinfo)
	{
		String retString = "";

		String kiyk_sbt = bnWebinfo.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		if (kiyk_sbt.equals(JFUStrConst.KEI_SBT_KOJINCD))
		{
			// 個人の場合
			// 契約者氏名カナ
			retString =
					JFUWebCommon.convFullHiraToFullKataV(bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09,
							X31CWebConst.DATABEAN_GET_VALUE)
							+ ZENKAKU_SPACE + bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE));

		}
		else if (kiyk_sbt.equals(JFUStrConst.KEI_SBT_HOJINCD))
		{
			// 法人の場合
			// 法人名かな
			retString =
					JFUWebCommon.convFullHiraToFullKataV(bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.HOJINKN_09,
							X31CWebConst.DATABEAN_GET_VALUE));
		}

		return retString;
	}

	/**
	 *  対応履歴連携を行うサービスを判定する
	 * 
	 * <br>
	 * @param bnWebinfo WEB新規情報
	 * @return String[]
	 */
	private String[] getCrRenkeiSvc(X31SDataBeanAccess bnWebinfo)
	{
		// 契約サービス
		X31SDataBeanAccess keiyakusvcinfo = getKeiyakusvcinfo(bnWebinfo);
		// モバイル
		X31SDataBeanAccess mobile = getMobile(bnWebinfo);
		// 光NET
		X31SDataBeanAccess eoNet = getEonet(bnWebinfo);
		// 光TV
		X31SDataBeanAccess eoTv = getEotv(bnWebinfo);
		// 光TEL
		X31SDataBeanAccess[] eotel = getEotel(bnWebinfo);

		keiyakusvcinfo = getKeiyakusvcinfo(bnWebinfo);

		String[] retString = new String[2];
		String svcKeiNo = "";
		String ksnSvc = "";
		String title = "";
		String mskmshoNo = "";
		String svc_net = "";
		String svc_tv = "";
		String svc_tel = "";
		String svc_mob = "";

		mskmshoNo = keiyakusvcinfo.sendMessageString(CommonInfoCFConst.MSKMSHO_NO_10, X31CWebConst.DATABEAN_GET_VALUE);

		// サービス情報取得
		// 選択サービス(ネット)
		svc_net = keiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(テレビ)
		svc_tv = keiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(電話)
		svc_tel = keiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// モバイルコース
		svc_mob = mobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		// ホームタイプ
		if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KSN_SVC_HOME))
		{
			ksnSvc = homeType;
		}
		// メゾンタイプ
		else if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
				JFUStrConst.MSKM_KSN_SVC_MANSION)
				&& bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MSKM_MNS_TYPE_MEZON))
		{
			ksnSvc = maisonType;
		}
		// マンションタイプ
		else if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
				JFUStrConst.MSKM_KSN_SVC_MANSION)
				&& bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MSKM_MNS_TYPE_MANSION))
		{
			ksnSvc = mansionType;
		}

		// サービス契約番号を取得、タイトルを表示
		if (SENTAKU.equals(svc_net))
		{
			// サービス契約番号取得
			if ("".equals(svcKeiNo))
			{
				svcKeiNo = eoNet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
			}
			// title取得
			title = ksnSvc;
		}
		if (SENTAKU.equals(svc_tel))
		{
			// サービス契約番号取得
			if ("".equals(svcKeiNo))
			{
				svcKeiNo = eotel[0].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE);
			}

			// title取得
			if ("".equals(title))
			{
				title = title + telNm;
			}
			else
			{
				title = title + plus + telNm;
			}
		}
		if (SENTAKU.equals(svc_tv))
		{
			// サービス契約番号取得
			if ("".equals(svcKeiNo))
			{
				svcKeiNo = eoTv.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE);
			}

			// title取得
			if ("".equals(title))
			{
				title = title + tvNm;
			}
			else
			{
				title = title + plus + tvNm;
			}
		}
		if (svc_mob.length() > 0 && !JFUStrConst.MOBILE_COURSE_NON.equals(svc_mob))
		{
			// サービス契約番号取得
			if ("".equals(svcKeiNo))
			{
				svcKeiNo = mobile.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_14, X31CWebConst.DATABEAN_GET_VALUE);
			}

			// title取得
			if ("".equals(title))
			{
				title = title + mobileNm;
			}
			else
			{
				title = title + plus + mobileNm;
			}
		}

		title = title + mskmuke + JFUStrConst.KIGOU_KAKKO_STA + mskmshoNo + JFUStrConst.KIGOU_KAKKO_END;

		retString[0] = svcKeiNo;
		retString[1] = title;
		return retString;
	}

	// -----IT2-2012-0000831 2012/06/16 h.iwamoto START-----
	/**
	 * マンション情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getMansioninfo(X31SDataBeanAccess bn)
	{

		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.MANSION_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	// -----IT2-2012-0000831 2012/06/16 h.iwamoto START-----

	//---- ST2-2012-0001437 2012/08/06 h.ikeda start ----//
	/**
	 * 上りマッピングをする（請求契約番号）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0321B002(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 共有フォームBean.支払い方法情報
		X31SDataBeanAccess bnPywyInfo = getPywyInfo(web_new_infobean);

		/* 2012/11/28 IT2-2012-0001841 Y.Saitou MOD-START */
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		String seiky_kei_no = bnPywyInfo.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＫＥＹ＿請求契約番号
		parentMap.put("key_seiky_kei_no", seiky_kei_no);
		/* 2012/11/28 IT2-2012-0001841 Y.Saitou MOD-END */

		outputMap.put("EKK0321B002", parentMap);

		return outputMap;

	}

	//---- ST2-2012-0001437 2012/08/06 h.ikeda end ----//

	//---- スマートリンク対応 2012/09/13 S.Otsuka start ----//

	/**
	 * 上りマッピングをする（代理店一意照会）
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0061A010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);

		// その他情報
		X31SDataBeanAccess else_infobean = getElseInfo(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＫＥＹ＿代理店コード ← その他情報.取扱店用取扱コード
		parentMap.put("key_agnt_cd", else_infobean.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD_18, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0061A010", parentMap);

		return outputMap;
	}

// ANK-3217-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUSmartLinAdd2CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess webNewInfobean = getWebInfo(bean[0]);

		// ｅｏ光ネット
		X31SDataBeanAccess netInfobean = getEonet(webNewInfobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// ｅｏ光ネット.ＧＨ端末 → eoスマートリンク登録2CC.ＧＨ端末
		parentMap.put("gh_tanmt", netInfobean.sendMessageString(CommonInfoCFConst.GH_TANMT_11, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("JFUSmartLinAdd2CC", parentMap);

		return outputMap;
	}
// ANK-3217-00-00 ADD END

	/**
	 * 上りマッピングをする（オプションサービス契約＜ISP＞登録）
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0361D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 共有フォームBean.支払い方法情報
		X31SDataBeanAccess bnPywyInfo = getPywyInfo(web_new_infobean);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// オプションサービスコード スマートリンクプレミアム
		parentMap.put("op_svc_cd", JFUStrConst.CD00136_B077);
		// 料金コースコード スマートリンクプレミアム
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_B80);
		// 料金プランコード スマートリンクプレミアム
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PB8001);
		// 親契約識別コード サービス契約
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_01);

		// サービス契約番号 ← eo光ネット.サービス契約番号
		parentMap.put("svc_kei_no", bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));

		// SYSID ← WEB新規情報.SYSID
		parentMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// 申込明細番号 ← eo光ネット.申込明細番号
		parentMap.put("mskm_dtl_no", bnEonet.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));

		// 異動区分
		parentMap.put("ido_div", getIdoKbn(web_new_infobean));
		// 請求契約番号
		parentMap.put("seiky_kei_no", getSeikyKeiNo(bnPywyInfo));
		// 更新年月日時分秒(更新前)
		parentMap.put("upd_dtm_bf", bnEonet.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_11, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0361D010", parentMap);

		return outputMap;
	}

// ANK-4427-00-00 ADD START
	/**
	 * 上りマッピングをする（オプションサービス契約＜ISP＞登録 NTT卸用）
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJKKNttorsNetTelInfOperateCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード
		parentMap.put("func_cd", func_code);

		// 処理区分
		parentMap.put("shori_div", SHORI_DIV_1);

		// SYSID
		parentMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// サービス契約番号
		parentMap.put("svc_kei_no", bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));

		// 異動区分
		parentMap.put("ido_div", getIdoKbn(web_new_infobean));

		// 更新年月日時分秒(更新前)	JFUAddMappingTypeNCCで再設定
		parentMap.put("upd_dtm_bf", bnEonet.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_11, X31CWebConst.DATABEAN_GET_VALUE));

		// 進捗特記事項1
		parentMap.put("prg_tkjk_1", "ｅｏ光電話（ｔｙｐｅ　Ｎ）情報登録");

		ArrayList subList = null;
		HashMap subChildMap = null;
		subList = new ArrayList();
		subChildMap = new HashMap();

		// 異動理由コード
		subChildMap.put("ido_rsn_cd", JFUStrConst.CD00846_56);

		// 異動理由メモ
		subChildMap.put("ido_rsn_memo", "");

		// 異動理由明細
		subList.add(subChildMap);
		parentMap.put("EKK1091D010CBSMsg1List", subList);

		ArrayList<Object> list = null;
		HashMap<String, Object> childMap = null;
		list = new ArrayList<Object>();
		childMap = new HashMap<String, Object>();

		// typeN電話番号
		String typenTel = 
			bnEonet.sendMessageString(CommonInfoCFConst.BMP_TELNO1_11, X31CWebConst.DATABEAN_GET_VALUE) + 
			bnEonet.sendMessageString(CommonInfoCFConst.BMP_TELNO2_11, X31CWebConst.DATABEAN_GET_VALUE) +
			bnEonet.sendMessageString(CommonInfoCFConst.BMP_TELNO3_11, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put("typen_telno", typenTel);

		// typeN番ポ種別
		String typenUseBmp = bnEonet.sendMessageString(CommonInfoCFConst.USE_BMP_11, X31CWebConst.DATABEAN_GET_VALUE);
		if (typenUseBmp.equals(JFUStrConst.CD00002_0))
		{
			// 利用しない場合(新番号)
			childMap.put("typen_bmp_sbt",BMP_SBT_0);
		}
		else if (typenUseBmp.equals(JFUStrConst.CD00002_1)){
			String typenTelJgs = bnEonet.sendMessageString(CommonInfoCFConst.BMP_TEL_SVCTK_JGS_11, X31CWebConst.DATABEAN_GET_VALUE);
			if (typenTelJgs.equals(JFUStrConst.TU0051_TSJGS_CD_0000))
			{
				// 利用する場合(NTT)
				childMap.put("typen_bmp_sbt",BMP_SBT_1);
			}
			else{
				// 利用する場合(他社)
				childMap.put("typen_bmp_sbt",BMP_SBT_2);
			}
		}

		// typeN契約者名
		String typenKeishaNm = 
			bnEonet.sendMessageString(CommonInfoCFConst.BMP_KSHNM_SEI_11, X31CWebConst.DATABEAN_GET_VALUE) +
			bnEonet.sendMessageString(CommonInfoCFConst.BMP_KSHNM_NM_11, X31CWebConst.DATABEAN_GET_VALUE);
		childMap.put("typen_keisha_nm", typenKeishaNm);

			//分割後の住所をJFUAddMappingTypeNCCで設定
			// typeN住所コード
			// typeN郵便番号
			// typeN都道府県名
			// typeN市区町村名
			// typeN大字通称名
			// typeN字丁目名
			// typeN番地号

		// typeN住所補記・建物名
		childMap.put("typen_adrttm", bnEonet.sendMessageString(CommonInfoCFConst.BMP_TTM_11, X31CWebConst.DATABEAN_GET_VALUE));

		// typeN住所補記・部屋番号
		childMap.put("typen_adrrm", bnEonet.sendMessageString(CommonInfoCFConst.BMP_RRM_11, X31CWebConst.DATABEAN_GET_VALUE));

		// typeN住所手動入力フラグ
		String plcChoice = bnEonet.sendMessageString(CommonInfoCFConst.BMP_STC_PLACE_AD_CHOICE_11, X31CWebConst.DATABEAN_GET_VALUE);
		if (plcChoice.equals(JFUStrConst.STC_PLACE_AD_CHOICE_OTHER))
		{
			// 手動入力有り(その他の設置場所)
			childMap.put("typen_ad_man_input_flg", TG_FLG_ARI);
		}
		else
		{
			// 手動入力無し(その他の設置場所以外)
			childMap.put("typen_ad_man_input_flg", TG_FLG_NON);
		}

		// typeN電話加入権取扱コード
		childMap.put("typen_tel_knkn_trat_cd", "");

		// typeN電話番号種別コード
		String bmpChoice = bnEonet.sendMessageString(CommonInfoCFConst.BMP_TELNO_CHOICE_11, X31CWebConst.DATABEAN_GET_VALUE);
		if(bmpChoice.equals(JFUStrConst.RRKS_CHOICE_RIYOBASHO))
		{
			// 利用場所と同じ
			childMap.put("typen_telno_sbt_cd",TELNO_SBT_2);
		}
		else if(bmpChoice.equals(JFUStrConst.RRKS_CHOICE_KEIYAKUJUSHO))
		{
			// 契約住所と同じ
			childMap.put("typen_telno_sbt_cd",TELNO_SBT_1);
		}
		else
		{
			// その他
			childMap.put("typen_telno_sbt_cd",TELNO_SBT_3);
		}

// ANK-4640-00-00 ADD START
		// typeN通信事業者コード
		childMap.put("typen_tsjgs_cd", bnEonet.sendMessageString(CommonInfoCFConst.BMP_TEL_SVCTK_JGS_11, X31CWebConst.DATABEAN_GET_VALUE));
// ANK-4640-00-00 ADD END

		// 電話番号通知申込有無
		childMap.put("telno_tchi_mskm_um", bnEonet.sendMessageString(CommonInfoCFConst.HASHINNO_TCH_11, X31CWebConst.DATABEAN_GET_VALUE));

		// 発信者番号表示申込有無
		childMap.put("hasinsha_no_dsp_mskm_um", bnEonet.sendMessageString(CommonInfoCFConst.HASHINNO_DSP_11, X31CWebConst.DATABEAN_GET_VALUE));

		// 非通知着信拒否申込有無
		childMap.put("hitchi_incmhi_mskm_um", bnEonet.sendMessageString(CommonInfoCFConst.HITSUCHI_DNY_11, X31CWebConst.DATABEAN_GET_VALUE));

		// 国際電話利用抑止申込有無
		childMap.put("kokusai_tel_stp_mskm_um", TG_FLG_NON);

		list.add(childMap);

		// 登録用情報リスト
		parentMap.put("add_info_list", list);

		outputMap.put("JKKNttorsNetTelInfOperateCC", parentMap);

		return outputMap;
	}
// ANK-4427-00-00 ADD END

	/**
	 * 上りマッピングをする（機器提供サービス契約登録） スマートリンク用
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341D010Sml(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess contract_infobean = getKeiyakuinfo(web_new_infobean);
		// 利用場所情報
		X31SDataBeanAccess usePlace_infobean = getRiyobasyoinfo(web_new_infobean);
		// 光ネット
		X31SDataBeanAccess net_infobean = getEonet(web_new_infobean);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);

		// マンション情報
		X31SDataBeanAccess bnMansion = getMansioninfo(web_new_infobean);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(web_new_infobean);

		// 申込回線サービス
		String mskm_ksn_svc = web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		
		String mskm_mns_type = web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 繰り返し回数を設定します。
		int count = 2;

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			childMap = new HashMap();

			// コード値をクリアします。
			String kktk_svc_cd = "";
			String pcrs_cd = "";
			String pplan_cd = "";
			String taknkiki_sbt_cd = "";
			String taknkiki_model_cd = "";
			String kiki_huka_info_cd = "";

			// 1回目はタブレットをマッピング
			if (i == 0)
			{
				// タブレット → 機器提供サービスコード
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C021;

				// 料金コースコード 
				pcrs_cd = JFUStrConst.CD00134_C40;

				// 料金プランコード 
				pplan_cd = JFUStrConst.CD00565_PC4001;

				// 宅内機器種別コード P0:タブレット
				taknkiki_sbt_cd = JFUStrConst.CD01262_P0;

				// Start 2012.10.27
				// タブレットの時だけ、機器リストを取得して、宅内機器型式コードを取得する。
				X31SDataBeanAccess targetKikiInfoListBean = this.getKikiInfoListBean(net_infobean);

				if (targetKikiInfoListBean != null)
				{
					// 宅内機器型式コードを取得する。 
					taknkiki_model_cd =
							targetKikiInfoListBean.sendMessageString(CommonInfoCFConst.TAKNKIKI_MODEL_CD_19, X31CWebConst.DATABEAN_GET_VALUE);
				}
				// End 2012.10.27

				// 機器付加情報コードの設定
// ANK-3642-00-00 MOD START
//				String tabletInfoPath = QUERY_PATH.replace(RE_1, taknkiki_model_cd);
//				Map<String, String> tabletInfo = JFUWebCommon.getDispItemsAsMap(tabletInfoPath, QUERY_ATTR_NAME);
//				kiki_huka_info_cd = tabletInfo.get(JFUStrConst.ID_FUD_KIKI_HUKA_INFO_CD);
				String screenId = JFUStrConst.EMPTY;
				if (JFUStrConst.HNBAI_TYPE_CON.equals(web_new_infobean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					screenId = JFUScreenConst.SCREEN_ID_FUW00118;
				}
				else
				{
					screenId = JFUScreenConst.SCREEN_ID_FUW00916;
				}
				kiki_huka_info_cd = JFUTabletInfoUtil.getItemInfo(taknkiki_model_cd, JFUStrConst.TABLET_DSP_KIKI_HUKA_INFO_CD, screenId, opeDate);
// ANK-3642-00-00 MOD END
			}
			else
			{
				// 2回目はクレードルをマッピング

				// クレードル → 機器提供サービスコード
				kktk_svc_cd = JFUStrConst.KK0771_KKTK_SVC_CD_C022;

				// 料金コースコード 
				pcrs_cd = JFUStrConst.CD00134_C41;

				// 料金プランコード 
				pplan_cd = JFUStrConst.CD00565_PC4101;

				// 宅内機器種別コード L1:クレードル
				taknkiki_sbt_cd = JFUStrConst.CD01262_L1;

				/* 2013/02/14 KT1-2013-0000162 Y.Saitou DEL */
			}

			// 共通情報のマッピング
			childMap.put("func_code", func_code);
			// 宅内機器種別コード
			childMap.put("taknkiki_sbt_cd", taknkiki_sbt_cd);

			// Start Mod 
			// 宅内機器型式コード
			childMap.put("taknkiki_model_cd", taknkiki_model_cd);
			// End Mod 

			// No.238 Otsuka 2013/01/26 start
			// 販売種別コード
			childMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
			// No.238 Otsuka 2013/01/26 end

			// 機器種別コード
			childMap.put("kktk_svc_cd", kktk_svc_cd);
			// 料金コースコード
			childMap.put("pcrs_cd", pcrs_cd);
			// 料金プランコード
			childMap.put("pplan_cd", pplan_cd);
			// 機器提供種別コード
			childMap.put("kktk_sbt_cd", JFUStrConst.CD00212_01);

			// No373 Otsuka 2013/02/07 start
			// "01"（サービス契約）固定 → 機器提供サービス契約登録マップ.親契約識別コード
			childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_01);
			// No373 Otsuka 2013/02/07 end

			// eo光ネット.サービス契約番号 → 機器提供サービス契約登録マップ.サービス契約番号
			childMap.put("svc_kei_no", net_infobean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
			// SYSID → 機器提供サービス契約登録マップ.SYSID
			childMap.put("sysid", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
			// 申込明細番号 → 機器提供サービス契約登録マップ.申込明細番号
			childMap.put("mskm_dtl_no", net_infobean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));

			// 機器引当指定倉庫コード("000001")
			childMap.put("kiki_hkat_shitei_soko_cd", KIKI_SOUKO_MINATO);
			// 機器引当指定倉庫棚コード("000")
			childMap.put("kiki_hkat_shitei_skdn_cd", bnElseinfo.sendMessageString(CommonInfoCFConst.SHELF_CD_18, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先名 → 機器提供サービス契約登録マップ.機器送付先名
			childMap.put("kiki_sohus_nm", getKshnm(web_new_infobean, contract_infobean));

			// 機器送付先カナ名 → 機器提供サービス契約登録マップ.機器送付先カナ名
			childMap.put("kiki_sohus_kana", getKshnmKna(web_new_infobean, contract_infobean));
//ANK-4498-00-00 MOD START
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）
			if(JFUStrConst.MSKM_KBN_NEW.equals(web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))
					 && JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskm_mns_type))
			{
				// 機器送付先郵便番号 → 機器提供サービス契約登録マップ.機器送付先郵便番号
				String zipFront = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE);
				String zipBack = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE);

				String zip = JPCEditString.concatPcd(zipFront, zipBack);
				childMap.put("kiki_sohus_pcd", zip);

				// 機器送付先住所補記・建物名 → 機器提供サービス契約登録マップ.機器送付先住所補記・建物名
				childMap
						.put("kiki_sohus_adrttm", contract_infobean.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));

				// 機器送付先住所補記・部屋番号 → 機器提供サービス契約登録マップ.機器送付先住所補記・部屋番号
				childMap.put("kiki_sohus_adrrm", contract_infobean.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));

				// 機器送付先電話番号 → 機器提供サービス契約登録マップ.機器送付先電話番号★結合が必要
				String tel1 = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE);
				String tel2 = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE);
				String tel3 = contract_infobean.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE);
				childMap.put("kiki_sohus_telno", tel1 + tel2 + tel3);
				// 機器送付先＿契約者住所差異フラグ
				// No312 Otsuka 2013/01/28
				childMap.put("kiki_sohus_ksh_ad_sai_flg",JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0);
			}else{
				//ホーム・メゾンの申し込みとマンションの契約中回線へのサービス追加申込の場合
				// 機器送付先郵便番号 → 機器提供サービス契約登録マップ.機器送付先郵便番号
				String zipFront = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE);
				String zipBack = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE);
	
				String zip = JPCEditString.concatPcd(zipFront, zipBack);
				childMap.put("kiki_sohus_pcd", zip);
	
				// 機器送付先住所補記・建物名 → 機器提供サービス契約登録マップ.機器送付先住所補記・建物名
				childMap
						.put("kiki_sohus_adrttm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
	
				// 機器送付先住所補記・部屋番号 → 機器提供サービス契約登録マップ.機器送付先住所補記・部屋番号
				childMap.put("kiki_sohus_adrrm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
	
				// 機器送付先電話番号 → 機器提供サービス契約登録マップ.機器送付先電話番号★結合が必要
				String tel1 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08, X31CWebConst.DATABEAN_GET_VALUE);
				String tel2 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO2_08, X31CWebConst.DATABEAN_GET_VALUE);
				String tel3 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO3_08, X31CWebConst.DATABEAN_GET_VALUE);
	
				childMap.put("kiki_sohus_telno", tel1 + tel2 + tel3);
				// 機器送付先＿契約者住所差異フラグ
				childMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(contract_infobean));
			}
			// ホーム回線以外の場合
			if (!JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskm_ksn_svc))
			{
				// マンション物件番号
				// No440 Otsuka 2013/03/03
				childMap.put("mansion_bukken_no", bnMansion.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
			}
//ANK-4498-00-00 MOD END
			// 機器設置先個別指定フラグ
			childMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);

			// No239 Otsuka 2013/01/28 start 機器設置先の情報を追加

			// 利用場所情報.郵便番号（上）/（下）→ 機器提供サービス契約登録マップ.機器設置先郵便番号
			String use_zipFront = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE);
			String use_zipBack = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE);
			childMap.put("kiki_stc_saki_pcd", use_zipFront + use_zipBack);

			// 利用場所情報.建物名 → 機器提供サービス契約登録マップ.機器設置先住所補記・建物名
			childMap.put("kiki_stc_saki_adrttm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08,
					X31CWebConst.DATABEAN_GET_VALUE));

			// 利用場所情報.部屋番号 → 機器提供サービス契約登録マップ.機器設置先住所補記・部屋番号
			childMap.put("kiki_stc_saki_adrrm", usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08,
					X31CWebConst.DATABEAN_GET_VALUE));

			// 利用場所情報.電話番号（１）/（２）/（３） → 機器提供サービス契約登録マップ.機器設置先電話番号
			String usePlace_tel1 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08, X31CWebConst.DATABEAN_GET_VALUE);
			String usePlace_tel2 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO2_08, X31CWebConst.DATABEAN_GET_VALUE);
			String usePlace_tel3 = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO3_08, X31CWebConst.DATABEAN_GET_VALUE);
			childMap.put("kiki_stc_sk_telno", usePlace_tel1 + usePlace_tel2 + usePlace_tel3);

			// 機器設置先＿契約者住所差異フラグ
			childMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(contract_infobean));

			// No239 Otsuka 2013/01/28 end

			// 住所未確定フラグ
			childMap.put("ad_mi_fix_flg", getAdMiFixFlg(usePlace_infobean));

			// 配送区分(00：直送)
			childMap.put("haiso_div", JFUStrConst.CD00020_00);
			// 異動区分
			childMap.put("ido_div", getIdoKbn(web_new_infobean));
			// 機器付加情報コード
			childMap.put("kiki_huka_info_cd", kiki_huka_info_cd);
			// 機器送付先住所手動入力フラグ
			childMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
			// 請求契約番号
			childMap.put("seiky_kei_no", getSeikyKeiNo(cash_infobean));
			// 更新年月日時分秒(更新前)
			childMap.put("upd_dtm_bf", net_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_11, X31CWebConst.DATABEAN_GET_VALUE));

			/* 2013/01/07 Y.Saitou ADD-START */
			// ホームタイプ
			if (web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MSKM_KSN_SVC_HOME))
			{
				// 料金グループコード
				childMap.put("prc_grp_cd", JFUStrConst.CD00133_02);

				// メゾンタイプ
			}
			else if (web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MSKM_KSN_SVC_MANSION)
					&& web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.MSKM_MNS_TYPE_MEZON))
			{
				// 料金グループコード
				childMap.put("prc_grp_cd", JFUStrConst.CD00133_03);

				// マンションタイプ
			}
			else if (web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MSKM_KSN_SVC_MANSION)
					&& web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.MSKM_MNS_TYPE_MANSION))
			{
				// 料金グループコード
				childMap.put("prc_grp_cd", JFUStrConst.CD00133_04);
			}
			/* 2013/01/07 Y.Saitou ADD-END */

			list.add(childMap);
		}

		// 端末補償
		parentMap.put("tablet_tanmt_comps", net_infobean.sendMessageString(CommonInfoCFConst.TABLET_TANMT_COMPS_11, X31CWebConst.DATABEAN_GET_VALUE));
		// 端末補償料金プランコード
		parentMap.put("tablet_tanmt_comps_pplan_cd", net_infobean.sendMessageString(CommonInfoCFConst.TABLET_TANMT_COMPS_PPLAN_CD_11,
				X31CWebConst.DATABEAN_GET_VALUE));

		if(JFUStrConst.MSKM_KBN_NEW.equals(web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE))
				 && JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskm_ksn_svc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskm_mns_type))
		{
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）

			parentMap.put("MSKM_MNS_TYPE",web_new_infobean.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));
		}
		parentMap.put("EKK0341D010SmlList", list);
		outputMap.put("EKK0341D010Sml", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（割賦契約） スマートリンク用
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK2541D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess net_infobean = getEonet(web_new_infobean);

		String kap_plan_cd = "";
		String kap_pay_zan_cnt = "";

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

// ANK-3217-00-00 MOD START
//		//スマリ割賦プランコード・支払回数
//		kap_plan_cd = net_infobean.sendMessageString(CommonInfoCFConst.TABLET_TANMT_KAP_PLAN_CD_11, X31CWebConst.DATABEAN_GET_VALUE);
//		kap_pay_zan_cnt = net_infobean.sendMessageString(CommonInfoCFConst.TABLET_TANMT_KAP_PAY_CNT_11, X31CWebConst.DATABEAN_GET_VALUE);
		String tabletTanmtMskm = net_infobean.sendMessageString(CommonInfoCFConst.TABLET_TANMT_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		String ghTanmt = net_infobean.sendMessageString(CommonInfoCFConst.GH_TANMT_11, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.SMALIN_TABLET_MSKM.equals(tabletTanmtMskm))
		{
			// スマリン割賦プランコード・支払回数
			kap_plan_cd = net_infobean.sendMessageString(CommonInfoCFConst.TABLET_TANMT_KAP_PLAN_CD_11, X31CWebConst.DATABEAN_GET_VALUE);
			kap_pay_zan_cnt = net_infobean.sendMessageString(CommonInfoCFConst.TABLET_TANMT_KAP_PAY_CNT_11, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else if (JFUStrConst.GH_TANMT_BUY.equals(ghTanmt))
		{
			// GH割賦プランコード・支払回数
			kap_plan_cd = net_infobean.sendMessageString(CommonInfoCFConst.GH_TANMT_KAP_PLAN_CD_11, X31CWebConst.DATABEAN_GET_VALUE);
			kap_pay_zan_cnt = net_infobean.sendMessageString(CommonInfoCFConst.GH_TANMT_KAP_PAY_CNT_11, X31CWebConst.DATABEAN_GET_VALUE);
		}
// ANK-3217-00-00 MOD END

		// 割賦プランコード
		parentMap.put("kap_plan_cd", kap_plan_cd);

		// 申込明細番号 → eo光ネットオプションマップ.申込明細番号
		parentMap.put("mskm_dtl_no", net_infobean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));

		// 異動区分
		parentMap.put("ido_div", getIdoKbn(web_new_infobean));

		// 割賦支払い残回数
		parentMap.put("kap_pay_zan_cnt", kap_pay_zan_cnt);

		// 2013/01/26 S.Yano ST2-2013-0000341 MOD
		// 端末購入通知書出力識別コード 出力する
		parentMap.put("tnmt_buy_tchisho_oput_skcd", JFUStrConst.CD01468_1);

		outputMap.put("EKK2541D010", parentMap);

		return outputMap;
	}

	//---- スマートリンク対応 2012/09/13 S.Otsuka end ----//

	// WiFiセット申し込み対応 2012/11/11 h.iwamoto START
	/**
	 * バックヤードマッピングCCの上りマッピングを行う(手動生成)
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return HashMap
	 * @throws Exception 
	 */
	public HashMap<String, Object> setJFUBackyardMappingCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[0]);

		// モバイル情報
		X31SDataBeanAccess mobileInfoBean = getMobile(webNewInfoBean);

		// マンション情報
		X31SDataBeanAccess mansionInfoBean = getMansioninfo(webNewInfoBean);

		// 支払い方法情報
		X31SDataBeanAccess paywayInfoBean = getPywyInfo(webNewInfoBean);

		/** 作業領域 */
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード不要

		// SYSIDを取得する
		String sysid = webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 申込回線サービスを取得する
		String mskm_ksn_svc = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 申込区分を取得する
		String mskm_kbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);

		// モバイルコースを取得する
		String mobileCourse = mobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		// 加入契約申込条件コードを取得する
		String knykei_mskm_joken_cd = mansionInfoBean.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

		// 販売タイプ取得
		String hanbai_type = webNewInfoBean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);

		// サービス契約番号（モバイル）を取得する
		String svc_kei_no = mobileInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_14, X31CWebConst.DATABEAN_GET_VALUE);

		// サービス契約内訳番号（モバイル）を取得する
		String svc_kei_ucwk_no = mobileInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_14, X31CWebConst.DATABEAN_GET_VALUE);

		// 請求契約番号を取得する
		String seiky_kei_no = paywayInfoBean.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払方法引継を取得する
		String payway_continue = paywayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 引継（請求契約番号）を取得する
		String hktgi_seiky_kei_no = paywayInfoBean.sendMessageString(CommonInfoCFConst.HKTGI_SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE);

		// ST1-2012-0000961 2012/11/21 h.iwamoto START
		// 処理区分を設定する(1:照査前)
		parentMap.put("trn_kbn", "1");
		// ST1-2012-0000961 2012/11/21 h.iwamoto END

		// SYSIDを設定する
		parentMap.put("sysid", sysid);

		// 2013/03/26 Otsuka start
		// 会員種別を設定する オープン会員
		parentMap.put("kiin_sbt", JFUStrConst.KIIN_SBT_OPEN);
		// 2013/03/26 Otsuka end

		// 申込回線サービスを設定する
		parentMap.put("mskm_ksn_svc", mskm_ksn_svc);

		// 申込区分を設定する
		parentMap.put("mskm_kbn", mskm_kbn);

		// モバイルコースを設定する
		parentMap.put("mobile_course", mobileCourse);

		// 加入契約申込条件コードを設定する
		parentMap.put("knykei_mskm_joken_cd", knykei_mskm_joken_cd);

		// 販売タイプを設定する
		parentMap.put("hanbai_type", hanbai_type);

		// 照査対象サービス契約番号を設定する
		parentMap.put("shosa_tg_svc_kei_no", svc_kei_no);

		// 照査対象サービス契約内訳番号を設定する
		parentMap.put("shosa_tg_svc_kei_ucwk_no", svc_kei_ucwk_no);

		// 審査対象請求契約番号を設定する
		if (JFUStrConst.PAYWAY_CONTINUE_CONTINUE.equals(payway_continue))
		{
			parentMap.put("jdg_tg_seiky_kei_no", hktgi_seiky_kei_no);
		}
		else
		{
			parentMap.put("jdg_tg_seiky_kei_no", seiky_kei_no);
		}

		// 支払方法引継を設定する
		parentMap.put("payway_continue", payway_continue);

		// オーダ発行CC ユーザ定義文字列設定する
		parentMap.put("odr_hakko_fixed_text", "JKKHakkoSODCC");

		// 指示書登録CC ユーザ定義文字列を設定する
		parentMap.put("sjisho_fixed_text", "JKKAddSjishoCC");

		// 整理番号発番付替部品 ユーザ定義文字列
		parentMap.put("seiri_no_fixed_text", "JKKSeiriNoHtbChgCC");

		outputMap.put("JFUBackyardMappingCC", parentMap);
		// ST1-2012-0000961 2012/11/21 h.iwamoto START
		HashMap<String, Object> parentMap2 = new HashMap<String, Object>();

		// 処理区分を設定する(2:照査後)
		parentMap2.put("trn_kbn", "2");

		// 販売タイプを設定する
		parentMap2.put("hanbai_type", hanbai_type);

		// 申込回線サービスを設定する
		parentMap2.put("mskm_ksn_svc", mskm_ksn_svc);

		// モバイルコースを設定する
		parentMap2.put("mobile_course", mobileCourse);

		// 加入契約申込条件コードを設定する
		parentMap2.put("knykei_mskm_joken_cd", knykei_mskm_joken_cd);

		// 照査対象サービス契約番号を設定する
		parentMap2.put("shosa_tg_svc_kei_no", svc_kei_no);

		// 通知書登録CC ユーザ定義文字列
		parentMap2.put("tchisho_fixed_text", "JKKTchishoAddCC");

		outputMap.put("JFUBackyardMappingCCAfter", parentMap2);

		// ST1-2012-0000961 2012/11/21 h.iwamoto END

		return outputMap;
	}

	// WiFiセット申し込み対応 2012/11/11 h.iwamoto END

	/**
	 *  番ポ電話番号登録可否チェックCCの上りマッピング処理です。
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUBmpTelNoAddChkCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		ArrayList list = null;
		HashMap childMap = null;
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);

		// eo光電話
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		// 番ポ利用有無 0:利用しない 1:利用する
		String bnp_um1 = tel_infobean1.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);
		String bnp_um2 = tel_infobean2.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);

		// 番号ポータビリティ情報フラグを設定します。
		boolean bnp_flg1 = false;
		boolean bnp_flg2 = false;

		// 繰り返し回数を設定します。
		int count = 0;

		// 番ポキャンセルフラグ 0:キャンセルしない 1:キャンセルする
		String bnpCancel1 = tel_infobean1.sendMessageString(CommonInfoCFConst.BMP_CANCEL_FLG_12, X31CWebConst.DATABEAN_GET_VALUE);
		String bnpCancel2 = tel_infobean2.sendMessageString(CommonInfoCFConst.BMP_CANCEL_FLG_12, X31CWebConst.DATABEAN_GET_VALUE);

		if (SENTAKU.equals(bnp_um1) && !bmpCancelFlg.equals(bnpCancel1))
		{
			bnp_flg1 = true;
			count = count + 1;
		}
		// 番号ポータビリティ利用有無（２番号目）
		if (SENTAKU.equals(bnp_um2) && !bmpCancelFlg.equals(bnpCancel2))
		{
			bnp_flg2 = true;
			count = count + 1;
		}

		if (count == 0)
		{
			return null;
		}

		// 必要数分マップを作成します。
		for (int i = 0; i < count; i++)
		{
			X31SDataBeanAccess telBean_accesser = null;
			// 共有フォームBeanのアクセサを取得します。
			if (bnp_flg1)
			{
				telBean_accesser = tel_infobean1;
				bnp_flg1 = false;
			}
			else if (bnp_flg2)
			{
				telBean_accesser = tel_infobean2;
				bnp_flg2 = false;
			}

			childMap = new HashMap();

			// 番ポ電話番号取得
			String telNo =
					telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TELNO1_12, X31CWebConst.DATABEAN_GET_VALUE)
							+ telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TELNO2_12, X31CWebConst.DATABEAN_GET_VALUE)
							+ telBean_accesser.sendMessageString(CommonInfoCFConst.BMP_TELNO3_12, X31CWebConst.DATABEAN_GET_VALUE);
			// 電話番号
			childMap.put("tel_no", telNo);

			list.add(childMap);
		}

		// 機能コード
		parentMap.put("func_code", func_code);

		parentMap.put("tel_no_list", list);

		outputMap.put("JFUBmpTelNoAddChkCC", parentMap);

		return outputMap;

	}

	/**
	 *  同番移転可能エリアチェックCCの上りマッピング処理です。
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJKKChkDobanitenPsbAreaCC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 利用場所情報
		X31SDataBeanAccess usePlace_infobean = getRiyobasyoinfo(web_new_infobean);

		// eo光電話
		X31SDataBeanAccessArray tel_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess tel_infobean1 = tel_info.getDataBean(0);
		X31SDataBeanAccess tel_infobean2 = tel_info.getDataBean(1);

		// 番ポ利用有無 0:利用しない 1:利用する
		String bnp_um1 = tel_infobean1.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);
		String bnp_um2 = tel_infobean2.sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);

		// 番ポキャンセルフラグ 0:キャンセルしない 1:キャンセルする
		String bnpCancel1 = tel_infobean1.sendMessageString(CommonInfoCFConst.BMP_CANCEL_FLG_12, X31CWebConst.DATABEAN_GET_VALUE);
		String bnpCancel2 = tel_infobean2.sendMessageString(CommonInfoCFConst.BMP_CANCEL_FLG_12, X31CWebConst.DATABEAN_GET_VALUE);

		// 住所選択を取得
		String adressSel1 = tel_infobean1.sendMessageString(CommonInfoCFConst.BMP_AD_CHOICE_12, X31CWebConst.DATABEAN_GET_VALUE);
		String adressSel2 = tel_infobean2.sendMessageString(CommonInfoCFConst.BMP_AD_CHOICE_12, X31CWebConst.DATABEAN_GET_VALUE);

		// チェック対象電話番号の数を設定します。
		int count = 0;

		// 番ポ電話番号１
		if (SENTAKU.equals(bnp_um1) && !bmpCancelFlg.equals(bnpCancel1))
		{
			String telNo = tel_infobean1.sendMessageString(CommonInfoCFConst.BMP_TELNO1_12, X31CWebConst.DATABEAN_GET_VALUE)
						 + tel_infobean1.sendMessageString(CommonInfoCFConst.BMP_TELNO2_12, X31CWebConst.DATABEAN_GET_VALUE)
						 + tel_infobean1.sendMessageString(CommonInfoCFConst.BMP_TELNO3_12, X31CWebConst.DATABEAN_GET_VALUE);
			// 電話番号を設定
			parentMap.put(KEY_TEL_NO1, telNo);
			count = count + 1;
		}
		// 番ポ電話番号２
		if (SENTAKU.equals(bnp_um2) && !bmpCancelFlg.equals(bnpCancel2))
		{
			String telNo = tel_infobean2.sendMessageString(CommonInfoCFConst.BMP_TELNO1_12, X31CWebConst.DATABEAN_GET_VALUE)
						 + tel_infobean2.sendMessageString(CommonInfoCFConst.BMP_TELNO2_12, X31CWebConst.DATABEAN_GET_VALUE)
						 + tel_infobean2.sendMessageString(CommonInfoCFConst.BMP_TELNO3_12, X31CWebConst.DATABEAN_GET_VALUE);
			// 電話番号を設定
			// 1つめを優先的に使用する。
			if (JFUWebCommon.isNull(parentMap.get(KEY_TEL_NO1))) {
				parentMap.put(KEY_TEL_NO1, telNo);
			} else {
				parentMap.put(KEY_TEL_NO2, telNo);
			}
			count = count + 1;
		}

		if (count == 0)
		{
			return null;
		}

		// 郵便番号
		String pcd_bf = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE);
		String pcd_af = usePlace_infobean.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put(KEY_PDC_BF, pcd_bf);
		parentMap.put(KEY_PDC_AF, pcd_af);

		// 例外入力
		parentMap.put(KEY_EXCEPTION_INPUT, "1");

		// 同一住所フラグ
		parentMap.put(SAME_AD_FLG, "1");

		// 住所コード一覧最大検索件数
		parentMap.put(AD_CD_LIST_MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);

		// 返却マップに設定
		outputMap.put("JKKChkDobanitenPsbAreaCC", parentMap);

		return outputMap;

	}

	//---- タブレット用の宅内機器型式の項目に値がセットされていなかった。対応
	/**
	 * 共有フォームBean.eo光ネット情報から、機器提供サービスコードが"C021"、かつ宅内機器種別コードが"P0"の機器情報リストデータタイプBeanを取得する。
	 * @param eoNetBean eo光ネット情報
	 * @return 機器情報リスト
	 */
	private X31SDataBeanAccess getKikiInfoListBean(X31SDataBeanAccess eoNetBean)
	{
		if (eoNetBean == null)
		{
			return null;
		}

		// 共有フォームBean.eo光ネット情報から、機器情報リスト(ネット)を取得
		X31SDataBeanAccessArray kikiInfoNetList = eoNetBean.getDataBeanArray(CommonInfoCFConst.KIKI_INFO_NET);

		// 機器情報リスト(ネット)の要素数分ループする
		for (int i = 0; i < kikiInfoNetList.getCount(); i++)
		{
			X31SDataBeanAccess kikiInfoNetDataTypeBean = kikiInfoNetList.getDataBean(i);

			// 機器提供サービスコードを取得
			String kktkSvcCd = kikiInfoNetDataTypeBean.sendMessageString(CommonInfoCFConst.KKTK_SVC_CD_19, X31CWebConst.DATABEAN_GET_VALUE);

			// 宅内機器種別コードを取得
			String taknkikiSbtCd = kikiInfoNetDataTypeBean.sendMessageString(CommonInfoCFConst.TAKNKIKI_SBT_CD_19, X31CWebConst.DATABEAN_GET_VALUE);

			if (JFUStrConst.CD00132_C021.equals(kktkSvcCd) && JFUStrConst.CD01262_P0.equals(taknkikiSbtCd))
			{
				return kikiInfoNetDataTypeBean;
			}
		}

		return null;
	}

	//---- タブレット用の宅内機器型式の項目に値がセットされていなかった。対応

	/**
	 * 上りマッピングをする（データ抽出項目設定完了）キャンセル処理
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK1391C040(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス設定用パラメータをセットします。
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// その他情報
		X31SDataBeanAccess elseInfoBean = getElseInfo(bnWebinfo);
		// データ抽出項目設定番号
		String dchskmst_no = elseInfoBean.sendMessageString(CommonInfoCFConst.DCHSKMST_NO_18, X31CWebConst.DATABEAN_GET_VALUE);

		// 汎用コード設定ありの場合
		if (isHanyoCdAri(bnWebinfo) && !JFUWebCommon.isNull(dchskmst_no))
		{
			// WEB割商品券リスト
			String chicketArray = JFUWebCommon.getWebWariCampList(opeDate);
			List<String> chicketList = Arrays.asList(chicketArray.split(","));

			// WEB割特別キャンペーンリスト
			String spCampaignDispDefine = JFUWebCommon.getDispText("COMMONSETTING", "WEB_WARI_SP_CAMP_LIST");
			List<String> webWariSpeCmpList = new ArrayList<String>();
			if (spCampaignDispDefine != null)
			{
				webWariSpeCmpList = Arrays.asList(spCampaignDispDefine.split(","));
			}

			// String配列汎用コードの要素数を取得
			Integer hanyoCdLength = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST).getCount();
			X31SDataBeanAccessArray hanyoCdList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST);
			X31SDataBeanAccess hanyoInfoBean = null;
			// 仮登録されたキャンペーンの数
			int hanyoListCnt = (Integer)elseInfoBean.sendMessage(CommonInfoCFConst.HANYO_CD_18, X31CWebConst.DATABEAN_GET_COUNT);
			// 汎用コード、汎用コード区分をマッピング
			for (int i = 0; i < hanyoCdLength; i++)
			{
				hanyoInfoBean = hanyoCdList.getDataBean(i);
				// 汎用コード
				String hanyoCd = hanyoInfoBean.sendMessageString(CommonInfoCFConst.HANYO_CD_46, X31CWebConst.DATABEAN_GET_VALUE);
				// WEB割商品券ではないキャンペーンが選択されている場合、仮登録されたWEB割商品券をキャンセル(※特別キャンペーンもキャンセル対象外)
				if (!JFUWebCommon.isNull(hanyoCd) && !chicketList.contains(hanyoCd) && hanyoListCnt > 0 && !webWariSpeCmpList.contains(hanyoCd))
				{
					// 光ネット
					X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
					// 申込明細番号
					String mskmDtlNo = bnEonet.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
					// サービス契約番号
					String svcKeiNo = bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE);

					parentMap.put(SVC_KEI_NO_UNQ, svcKeiNo);
					parentMap.put(MSKM_DTL_NO, mskmDtlNo);
					parentMap.put(DCHSKMST_NO, dchskmst_no);
					parentMap.put(DCHSKMST_FIN_SBT_CD, JFUStrConst.CD00809_020);
					parentMap.put(IDO_DIV, getIdoKbn(bnWebinfo));
					parentMap.put(DCHSKMST_FIN_OPTY_CD, JFUStrConst.CD00874_2);

				}
			}
		}
		if (parentMap.size() > 0)
		{
			outputMap.put(EKK1391C040, parentMap);
		}
		return outputMap;
	}

	/** 
	 *  汎用コードに設定有無の結果を取得する
	 * 
	 * <br>
	 * @param bnWebinfo WEB新規情報
	 * @return boolean
	 */
	private boolean isHanyoCdAri(X31SDataBeanAccess bnWebinfo)
	{
		boolean retFlg = false;

		// String配列汎用コードの要素数を取得
		Integer hanyoCdLength = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST).getCount();

		X31SDataBeanAccessArray hanyoCdList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST);
		X31SDataBeanAccess hanyoInfoBean = null;

		// 汎用コード、汎用コード区分をマッピング
		for (int i = 0; i < hanyoCdLength; i++)
		{
			hanyoInfoBean = hanyoCdList.getDataBean(i);

			// 汎用コード
			String hanyoCd = hanyoInfoBean.sendMessageString(CommonInfoCFConst.HANYO_CD_46, X31CWebConst.DATABEAN_GET_VALUE);

			if (!JFUWebCommon.isNull(hanyoCd))
			{
				retFlg = true;
				break;
			}
		}

		return retFlg;
	}
	
	// No312 Otsuka 2013/01/28 start
	/** 
	 *  機器設置先＿契約者住所差異フラグを取得する
	 * 
	 * <br>
	 * @param bnWebinfo WEB新規情報
	 * @param bnKeiyakuinfo　契約者情報
	 * @return String
	 */
	public String getKysAddSaiFlg(X31SDataBeanAccess bnKeiyakuinfo)
	{
		String retString = "";

		String saiFlg = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHADD_CMF_09, X31CWebConst.DATABEAN_GET_VALUE);
		// 2:利用場所と異なるの場合
		if ("2".equals(saiFlg))
		{
			// 差異あり
			retString = JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_1;
		}
		else
		{
			// 差異なし
			retString = JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0;
		}

		return retString;
	}

	// No312 Otsuka 2013/01/28 end

	// No244 Otsuka 2013/02/15 start
	/**
	 * 同一請求先チェックCC上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUSameSeikyusakiCheckCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);

		// 契約サービス情報
		X31SDataBeanAccess keiSvcInfoBean = getKeiyakusvcinfo(bnWebinfo);

		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(bnWebinfo);

		// モバイル情報
		X31SDataBeanAccess mobileInfoBean = getMobile(bnWebinfo);

		// 選択サービス(ネット)
		String selectNet = keiSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 支払い方法引継ぎ
		String payWayCnt = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		// モバイルコース
		String mbCourse = mobileInfoBean.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		// ネットが選択されている場合はマッピングを行わない。
		if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(selectNet))
		{
			return null;
		}

		// 支払い方法を引き継がない場合、マッピングを行わない。
		if (!JFUStrConst.PAYWAY_CONTINUE_CONTINUE.equals(payWayCnt))
		{
			return null;
		}

		// ハイブリッド以外の場合、マッピングを行わない。
		if (!JFUStrConst.MOBILE_COURSE_3G_HHB.equals(mbCourse) && !JFUStrConst.MOBILE_COURSE_3G_21M_HHB.equals(mbCourse))
		{
			return null;
		}

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＫＥＹ＿SYSID
		parentMap.put("key_sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// ＫＥＹ＿請求契約番号
		parentMap.put("key_seiky_kei_no", cash_infobean.sendMessageString(CommonInfoCFConst.HKTGI_SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));

		// ハイブリッドのネット1回線に対しての最大契約数
		parentMap.put("max_same_seikyusaki_cnt", JFUWebCommon.getApplicationConst(MAX_SAME_SEIKYUSAKI_CNT));

		outputMap.put("JFUSameSeikyusakiCheckCC", parentMap);

		return outputMap;
	}

	// No244 Otsuka 2013/02/15 end

	//---- ANK-1190-00-00 オーソリ対応 2012/10/16 S.Otsuka start ----//
	/**
	 * 上りマッピングをする 初回オーソリ依頼
	 * @param bean [1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @param opeDateTime
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKKA0010001(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDateTime)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccess web_new_bean = getWebInfo(bean[0]);

		X31SDataBeanAccess payWayInfoBean = getPywyInfo(web_new_bean);

		String payway_continue = payWayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		String payway_ginchocre = payWayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法が銀行または郵便の場合、または支払い方法を引き継ぐ場合
		if (JFUStrConst.PAYWAY_CONTINUE_CONTINUE.equals(payway_continue) || JFUStrConst.PAYWAY_BANK_POSTAL.equals(payway_ginchocre))
		{
			return null;
		}
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// クレジットカード契約番号 → 初回オーソリSCマップ.クレジットカード契約番号
		parentMap.put("cr_ccid", payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));

		// 加盟店IDを取得
		String fu_cr_cpid = JFUWebCommon.getApplicationConst(FU_CR_CPID);

		// 加盟店パスワードを取得
		String fu_cr_passwd = JFUWebCommon.getApplicationConst(FU_CR_PASSWD);

		// 加盟店ＩＤ → 初回オーソリSCマップ.加盟店ID
		parentMap.put("cr_cpid", fu_cr_cpid);
		// 加盟店パスワード → 初回オーソリSCマップ.加盟店パスワード
		parentMap.put("cr_passwd", fu_cr_passwd);

		String opeDate_date = opeDateTime.substring(0, 8);
		String opeDate_time = opeDateTime.substring(8, 14);

		// 運用日付（日付） → 初回オーソリSCマップ.取引年月日
		parentMap.put("cr_orderdate", opeDate_date);
		// 運用日付（時間） → 初回オーソリSCマップ.取引時間
		parentMap.put("cr_ordertime", opeDate_time);
		// 決済金額 → 初回オーソリSCマップ.決済金額
		//		parentMap.put("cr_amount", payWayInfoBean.sendMessageString(CommonInfoCFConst.CR_PAIDAMOUNT_15, X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("cr_amount", "1");

		// クレジットカード番号１+２+３+４ → 初回オーソリSCマップ.カード番号
//		String cre_no_1 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO1_15, X31CWebConst.DATABEAN_GET_VALUE);
//		String cre_no_2 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO2_15, X31CWebConst.DATABEAN_GET_VALUE);
//		String cre_no_3 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO3_15, X31CWebConst.DATABEAN_GET_VALUE);
//		String cre_no_4 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO4_15, X31CWebConst.DATABEAN_GET_VALUE);
//		String cre_no_1234 = cre_no_1 + cre_no_2 + cre_no_3 + cre_no_4;

		// トークン → 初回オーソリSCマップ.カード番号
		String cre_no_1234 = payWayInfoBean.sendMessageString(CommonInfoCFConst.TOKEN_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 19桁になるまで前半角スペース埋めを行ってから設定
		parentMap.put("cr_cardnumber", cre_no_1234);

		//---------------------------------------------------------------------
		// カード有効期限（年月） → 初回オーソリSCマップ.カード有効期限
		String year = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_YEAR_15, X31CWebConst.DATABEAN_GET_VALUE);
		String month = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_MONTH_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 年月を文字に結合する関係で 1-9月だけは頭に 0 を付加する
		if (month.matches("^[1-9]$"))
		{
			month = "0" + month;
		}

		// MM/YY形式に編集
		String year_month = year.substring(2, 4) + "/" + month;
		parentMap.put("cr_cardexp", year_month);

		// モバイル単独かつWiMAX白ロムまたはWi-Fiの場合:1 それ以外:0
		// ここでは必ずそれ以外のため、0を設定
		parentMap.put("contFlg", "0");

		outputMap.put("EKKA0010001", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする 預かりオーソリ依頼
	 * @param bean [1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKKA0010003(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		X31SDataBeanAccess web_new_bean = getWebInfo(bean[0]);

		X31SDataBeanAccess payWayInfoBean = getPywyInfo(web_new_bean);

		String payway_continue = payWayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		String payway_ginchocre = payWayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法が銀行または郵便の場合、または支払い方法を引き継ぐ場合
		if (JFUStrConst.PAYWAY_CONTINUE_CONTINUE.equals(payway_continue) || JFUStrConst.PAYWAY_BANK_POSTAL.equals(payway_ginchocre))
		{
			return null;
		}
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// マーチャントＩＤプロパティファイルキー → 預かりオーソリ依頼マップ.マーチャントＩＤ
		parentMap.put("py_merchant_id", PAYGENT_MERCHANT_ID);

		// 接続IDプロパティファイルキー → 預かりオーソリ依頼マップ.接続ID
		parentMap.put("py_connect_id", PAYGENT_CONNECT_ID);

		// 接続パスワードプロパティファイルキー → 預かりオーソリ依頼マップ.接続パスワード
		parentMap.put("py_connect_password", PAYGENT_CONNECT_PASSWORD);

		// 電文バージョン番号プロパティファイルキー → 預かりオーソリ依頼マップ.電文バージョン番号
		parentMap.put("py_telegram_version", PAYGENT_TELEGRAM_VERSION);

		// "4211":コンシューマ → 預かりオーソリ依頼マップ.サイトID
		parentMap.put("py_site_id", JFUStrConst.CD01788_1);

		// トークン → 預かりオーソリ依頼マップ.カード情報トークン
		parentMap.put("py_card_token", payWayInfoBean.sendMessageString(CommonInfoCFConst.TOKEN_15, X31CWebConst.DATABEAN_GET_VALUE));

		// "1":利用する → 預かりオーソリ依頼マップ.セキュリティコード利用
		parentMap.put("py_security_code_use", "1");

		// モバイル単独かつWiMAX白ロムまたはWi-Fiの場合:1 それ以外:0
		// ここでは必ずそれ以外のため、0を設定
		parentMap.put("contFlg", "0");

		outputMap.put("EKKA0010003", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（クレジット請求手続マップ）
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @param iktFlg
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0521D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String iktFlg)
	{
		String crecardCompCd = "";
		String credit_no1 = "";
		String credit_no2 = "";
		String credit_no3 = "";
		String credit_no4 = "";
		String credit_no = "";
		String credit_kigenM = "";
		String credit_kigenY = "";
		String credit_kigen = "";
		String crecardJigyoCd = "";
		String shikosakiCompCd = "";

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);

		// 支払方法引継
		String hikitugi = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法を引き継ぐ場合は、nullを返します。
		if (hikitugi.equals(JFUStrConst.PAYWAY_CONTINUE_CONTINUE))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 支払い方法がクレジットカードの場合
		// クレジットカード会社コード
		crecardCompCd = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_COMP_CD_15, X31CWebConst.DATABEAN_GET_VALUE);
		// クレジットカード番号
		credit_no1 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO1_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_no2 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO2_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_no3 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO3_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_no4 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO4_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_no = credit_no1 + credit_no2 + credit_no3 + credit_no4;

		// クレジットカード有効期限
		credit_kigenM = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_MONTH_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_kigenY = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_YEAR_15, X31CWebConst.DATABEAN_GET_VALUE);
		credit_kigen = credit_kigenY + credit_kigenM;

		// クレジット事業コード
		crecardJigyoCd = JFUStrConst.CD00420_2;

		// 仕向先会社コード(クレジット交換コード)
		shikosakiCompCd = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_SHIKOSAKI_COMP_CD_15, X31CWebConst.DATABEAN_GET_VALUE);

		// クレジットカード会社コード
		parentMap.put("crecard_comp_cd", crecardCompCd);
		// クレジット事業コード
		parentMap.put("crecard_jigyo_cd", crecardJigyoCd);
		// クレジットカード番号
		parentMap.put("crecard_no", credit_no);
		// クレジットカード有効期限
		parentMap.put("crecard_yk_kigen", credit_kigen);
		// クレジットカード名義カナ名
		parentMap.put("crecard_nm_kana", getPaywayCustNmKana(cash_infobean));
		// 仕向先会社コード
		parentMap.put("shikosaki_comp_cd", shikosakiCompCd);
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(web_new_infobean));

		// 更新前年月日時分秒
		parentMap.put("upd_dtm_bf", cash_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_GET_VALUE));

		// 一括フラグ(モバイル単独)
		parentMap.put("iktFlg", iktFlg);

		outputMap.put("EKK0521D010", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（審査済クレジットカード登録マップ）
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0521D020(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		String crecardCompCd = "";
		String credit_no1 = "";
		String credit_no2 = "";
		String credit_no3 = "";
		String credit_no4 = "";
		String credit_no = "";
		String credit_kigenM = "";
		String credit_kigenY = "";
		String credit_kigen = "";
		String meigi_kana_sei = "";
		String meigi_kana_mei = "";
		String meigi = "";
		String crecardJigyoCd = "";
		String shikosakiCompCd = "";

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);

		// 支払方法引継
		String hikitugi = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		// 支払い方法
		String payway = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);

		// KAD-2012-0001381 Otsuka add 2012/10/29 start
		// 支払い方法を引き継ぐ場合　または支払い方法がクレジット払い以外の場合は、nullを返します。
		if (hikitugi.equals(JFUStrConst.PAYWAY_CONTINUE_CONTINUE) || !JFUStrConst.PAYWAY_CREDIT.equals(payway))
		{
			return null;
		}
		// KAD-2012-0001381 Otsuka add 2012/10/29 end

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		if (payway.equals(JFUStrConst.PAYWAY_CREDIT))
		{
			// 支払い方法がクレジットカードの場合
			// クレジットカード会社コード
			crecardCompCd = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_COMP_CD_15, X31CWebConst.DATABEAN_GET_VALUE);
			// クレジットカード番号
			credit_no1 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO1_15, X31CWebConst.DATABEAN_GET_VALUE);
			credit_no2 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO2_15, X31CWebConst.DATABEAN_GET_VALUE);
			credit_no3 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO3_15, X31CWebConst.DATABEAN_GET_VALUE);
			credit_no4 = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_NO4_15, X31CWebConst.DATABEAN_GET_VALUE);
			credit_no = credit_no1 + credit_no2 + credit_no3 + credit_no4;

			// クレジットカード有効期限
			credit_kigenM = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_MONTH_15, X31CWebConst.DATABEAN_GET_VALUE);
			credit_kigenY = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_YEAR_15, X31CWebConst.DATABEAN_GET_VALUE);
			credit_kigen = credit_kigenY + credit_kigenM;

			// 仕向先会社コード(クレジット交換コード)
			shikosakiCompCd = cash_infobean.sendMessageString(CommonInfoCFConst.CRECARD_SHIKOSAKI_COMP_CD_15, X31CWebConst.DATABEAN_GET_VALUE);

			// 2012/10/26 S.Yano クレジット名義人カナ名修正 MOD-S
			// クレジットカード名義カナ名
			meigi_kana_sei = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_SEI_15, X31CWebConst.DATABEAN_GET_VALUE);
			meigi_kana_mei = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_NM_15, X31CWebConst.DATABEAN_GET_VALUE);

			if (meigi_kana_sei.length() > 0 && meigi_kana_mei.length() > 0)
			{
				meigi = meigi_kana_sei + JFUStrConst.SPACE + meigi_kana_mei;
			}
			else
			{
				//法人もしくはマンションの場合クレジット名義人を別項目で設定
				meigi = cash_infobean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_15, X31CWebConst.DATABEAN_GET_VALUE);
			}
			// 2012/10/26 S.Yano クレジット名義人カナ名修正 MOD-E

			// クレジット事業コード
			crecardJigyoCd = JFUStrConst.CD00420_2;

			// クレジットカード会社コード
			parentMap.put("crecard_comp_cd", crecardCompCd);
			// クレジット事業コード
			parentMap.put("crecard_jigyo_cd", crecardJigyoCd);
			// クレジットカード番号
			parentMap.put("crecard_no", credit_no);
			// クレジットカード有効期限
			parentMap.put("crecard_yk_kigen", credit_kigen);
			// クレジットカード名義カナ名
			parentMap.put("crecard_nm_kana", meigi);
			// 仕向先会社コード
			parentMap.put("shikosaki_comp_cd", shikosakiCompCd);
			// 異動区分
			parentMap.put("ido_div", getIdoKbn(web_new_infobean));
		}
		else
		{
			return null;
		}

		outputMap.put("EKK0521D020", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする オーソリ実績登録
	 * @param bean  [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @param opeDateTime
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK1031D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDateTime)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		X31SDataBeanAccess web_new_bean = getWebInfo(bean[0]);

		X31SDataBeanAccess payWayInfoBean = getPywyInfo(web_new_bean);

		String payway_continue = payWayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		String payway_ginchocre = payWayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法が銀行または郵便の場合、または支払い方法を引き継ぐ場合
		if (JFUStrConst.PAYWAY_CONTINUE_CONTINUE.equals(payway_continue) || JFUStrConst.PAYWAY_BANK_POSTAL.equals(payway_ginchocre))
		{
			return null;
		}

		// クレジットカード会社コード
		String crecardCompCd = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_COMP_CD_15, X31CWebConst.DATABEAN_GET_VALUE);

		// クレジットカード番号
		String credit_no1 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO1_15, X31CWebConst.DATABEAN_GET_VALUE);
		String credit_no2 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO2_15, X31CWebConst.DATABEAN_GET_VALUE);
		String credit_no3 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO3_15, X31CWebConst.DATABEAN_GET_VALUE);
		String credit_no4 = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_NO4_15, X31CWebConst.DATABEAN_GET_VALUE);
		String credit_no = credit_no1 + credit_no2 + credit_no3 + credit_no4;

		// クレジットカード有効期限
		String credit_kigenM = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_MONTH_15, X31CWebConst.DATABEAN_GET_VALUE);
		String credit_kigenY = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_YK_KIGEN_YEAR_15, X31CWebConst.DATABEAN_GET_VALUE);
		String credit_kigen = credit_kigenY + credit_kigenM;

		// 仕向先会社コード(クレジット交換コード)
		String shikosakiCompCd = payWayInfoBean.sendMessageString(CommonInfoCFConst.CRECARD_SHIKOSAKI_COMP_CD_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 請求契約番号
		String seiky_kei_no = payWayInfoBean.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 請求契約世代年月日時分秒
		String gene_add_dtm = payWayInfoBean.sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 請求契約番号
		parentMap.put("seiky_kei_no", seiky_kei_no);

		// 請求契約世代年月日時分秒
		parentMap.put("seiky_kei_gene_add_dtm", gene_add_dtm);

		// クレジットカード会社コード
		parentMap.put("crecard_comp_cd", crecardCompCd);

		// オーソリ処理コード 入会オーソリ
		parentMap.put("auth_tran_cd", JFUStrConst.CD00421_02);

		// クレジットカード番号
		parentMap.put("crecard_no", credit_no);

		// クレジットカード有効期限
		parentMap.put("crecard_yk_kigen", credit_kigen);

		// 仕向先会社コード
		parentMap.put("shikosaki_comp_cd", shikosakiCompCd);

		// オーソリ要求コード 新規契約
		parentMap.put("authori_yokyu_cd", JFUStrConst.CD00463_1);

		// 取消コード 0:未処理
		parentMap.put("cl_cd", JFUStrConst.CD00616_0);

		// 加盟店番号
		parentMap.put("membstr_no", payWayInfoBean.sendMessageString(CommonInfoCFConst.MEMBSTR_NO_15, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK1031D010", parentMap);

		return outputMap;
	}

	/**
	 * 支払い方法情報・クレジット・名義人（カナ）を取得する
	 * 
	 * <br>
	 * @param paywayInfoBean
	 * @return String
	 */
	private String getPaywayCustNmKana(X31SDataBeanAccess paywayInfoBean)
	{
		StringBuilder sb = new StringBuilder();

		// クレジット・名義人（カナ）
		String kana = paywayInfoBean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_15, X31CWebConst.DATABEAN_GET_VALUE);

		if (!"".equals(kana))
		{
			sb.append(kana);
		}
		else
		{
			sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_SEI_15, X31CWebConst.DATABEAN_GET_VALUE));
			sb.append(ZENKAKU_SPACE);
			sb.append(paywayInfoBean.sendMessageString(CommonInfoCFConst.CUST_NM_KANA_NM_15, X31CWebConst.DATABEAN_GET_VALUE));
		}

		return sb.toString();
	}

	//---- ANK-1190-00-00 オーソリ対応 2012/10/16 S.Otsuka end ----//

	// No Otsuka 2013/04/15 start
	/**
	 * 請求オプションサービス登録CCの上りマッピングをする
	 * 
	 * @param bean [0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param naviFlg
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUAddSeikyOpSvcCC(X31SDataBeanAccess[] bean, HashMap outputMap, String naviFlg)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);

		// 契約サービス情報
		X31SDataBeanAccess keiSvcInfoBean = getKeiyakusvcinfo(bnWebinfo);

		// 光ネット情報
		X31SDataBeanAccess netInfoBean = getEonet(bnWebinfo);
		// 光電話情報
		X31SDataBeanAccess[] telInfoBean = getEotel(bnWebinfo);
		// 光テレビ情報
		X31SDataBeanAccess tvInfoBean = getEotv(bnWebinfo);
		// モバイル情報
		X31SDataBeanAccess mobileInfoBean = getMobile(bnWebinfo);

		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(bnWebinfo);

		// 選択サービス(ネット)
		String selectNet = keiSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(電話)
		String selectTel = keiSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(テレビ)
		String selectTv = keiSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(モバイル)
		String selectMob = keiSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_MOBILE_10, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法引継ぎ
		String payWayCnt = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);

		// 新規登録の場合、登録を行わない。
		if (JFUStrConst.MSKM_KBN_NEW.equals(bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return outputMap;
		}

		// ネットまたはモバイルが選択されていない場合はマッピングを行わない。
		if (JFUStrConst.SELECT_SVC_NET_MI_CHOICE.equals(selectNet) && JFUStrConst.SELECT_SVC_MOBILE_MI_CHOICE.equals(selectMob))
		{
			return outputMap;
		}

		// 支払い方法を引き継がない場合、マッピングを行わない。
		if (!JFUStrConst.PAYWAY_CONTINUE_CONTINUE.equals(payWayCnt))
		{
			return outputMap;
		}

		// SYSID
		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// 請求契約番号
		parentMap.put("seiky_kei_no", cash_infobean.sendMessageString(CommonInfoCFConst.HKTGI_SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_GET_VALUE));

		// 請求オプションサービスコード
		parentMap.put("seiopsvc_cd", JFUStrConst.KK0761_SEIOPSVC_CD_E001);

		// 料金コースコード
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_E01);

		// 料金プランコード
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PE0101);

		// 異動区分
		parentMap.put("ido_div", JFUStrConst.CD00576_00002);

		String mskm_dtl_no = "";

		// ネットが選択されていた場合
		if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(selectNet))
		{
			mskm_dtl_no = netInfoBean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
		}
		// 電話が選択されていた場合
		else if (JFUStrConst.SELECT_SVC_TEL_CHOICE.equals(selectTel))
		{
			mskm_dtl_no = telInfoBean[0].sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_12, X31CWebConst.DATABEAN_GET_VALUE);
		}
		// テレビが選択されていた場合
		else if (JFUStrConst.SELECT_SVC_TV_CHOICE.equals(selectTv))
		{
			mskm_dtl_no = tvInfoBean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_13, X31CWebConst.DATABEAN_GET_VALUE);
		}
		// モバイルが選択されていた場合
		else if (JFUStrConst.SELECT_SVC_MOBILE_CHOICE.equals(selectMob))
		{
			mskm_dtl_no = mobileInfoBean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_14, X31CWebConst.DATABEAN_GET_VALUE);
		}

		// 申込明細番号
		parentMap.put("mskm_dtl_no", mskm_dtl_no);

		// ネットが選択されていた場合
		if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(selectNet))
		{
			// サービス契約番号(NET)
			parentMap.put("svc_kei_no_net", netInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// 電話が選択されていた場合
		if (JFUStrConst.SELECT_SVC_TEL_CHOICE.equals(selectTel))
		{
			// サービス契約番号(TEL)
			parentMap.put("svc_kei_no_tel", telInfoBean[0].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// テレビが選択されていた場合
		if (JFUStrConst.SELECT_SVC_TV_CHOICE.equals(selectTv))
		{
			// サービス契約番号(TV)
			parentMap.put("svc_kei_no_tv", tvInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// モバイルが選択されていた場合
		if (JFUStrConst.SELECT_SVC_MOBILE_CHOICE.equals(selectMob))
		{
			// サービス契約番号(MOBILE)
			parentMap.put("svc_kei_no_mob", mobileInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_14, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// 1:通常導線 2:全戸一括導線 3:モバイル単独導線
		parentMap.put("navi_flg", naviFlg);

		outputMap.put("JFUAddSeikyOpSvcCC", parentMap);

		return outputMap;
	}
	// No Otsuka 2013/04/15 end

	/**
	 * 上りマッピングをする（申込内容承認申請）
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0011C100(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約サービス情報
		X31SDataBeanAccess contract_infobean = getKeiyakusvcinfo(web_new_infobean);
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// 契約サービス情報.申込番号 → 申込内容承認マップ.申込番号
		parentMap.put("mskm_no", contract_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約サービス情報.コンシューマ営業用申込状態識別コード  → 申込内容承認マップ.コンシューマ営業用申込状態識別コード 
		parentMap.put("consmbsn_mskm_stat_skbt_cd", JFUStrConst.CD00760_03);
		// 更新年月日時分秒（更新前）
		parentMap.put("upd_dtm_bf", contract_infobean.sendMessageString(CommonInfoCFConst.UPD_DTM_MSKM_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 販売タイプ(実行判定)
		parentMap.put("hanbai_type", web_new_infobean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0011C100", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（ユーザー一覧照会（業務個別設定組織取得））
	 * 
	 * @param bean サービスフォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 * 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016031SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ユーザーID → 対応記録登録.対応ユーザーＩＤ
		parentMap.put("key_user_id", bnElseinfo.sendMessageString(CommonInfoCFConst.TANTOSHA_ID_18, X31CWebConst.DATABEAN_GET_VALUE));

		HashMap dataMap = new HashMap();
		ArrayList dataList = new ArrayList();
		dataList.add(dataMap);
		parentMap.put("EZM0051B030CBSMsg1List", dataList);
		outputMap.put("FUSV016031SC", parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングをする（業務個別設定組織一意照会）
	 * 
	 * @param bean サービスフォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 * @throws Exception 
	 * 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016032SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 販売タイプ
		String hanbaiType = bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 業務個別設定組織コード取得
		Map<String, String> cdMap = JFUWebCommon.getDispItemsAsMap(PATH_WKKBT_ORG_CD, JFUStrConst.QUERY_ATTR_NAME);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// KEY_業務個別設定組織コード
		if(JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbaiType))
		{
			// 量販
			parentMap.put("key_wkkbt_org_cd", (String)cdMap.get("ryohan"));
		}
		else if(JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType))
		{
			// 訪販
			parentMap.put("key_wkkbt_org_cd", (String)cdMap.get("hohan"));
		}

		HashMap dataMap = new HashMap();
		ArrayList dataList = new ArrayList();
		dataList.add(dataMap);
		parentMap.put("EZM0151A010CBSMsg1List", dataList);
		outputMap.put("FUSV016032SC", parentMap);

		return outputMap;
	}

	/**
	 * 機器オプション登録CCの上りマッピング処理です。
	 * 
	 * <br>
	 * @param bean データBean配列
	 * @param outputMap アウトマップ
	 * @return 結果
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUVaKikiCancelCC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess webInfoBean = getWebInfo(bean[0]);
		// eo光ネット
		X31SDataBeanAccessArray netInfoBeanArray = webInfoBean.getDataBeanArray(CommonInfoCFConst.EONET);
		X31SDataBeanAccess netInfoBean = netInfoBeanArray.getDataBean(0);
		// eo光電話
		X31SDataBeanAccessArray telInfoBeanArray = webInfoBean.getDataBeanArray(CommonInfoCFConst.EOTEL);
		X31SDataBeanAccess telInfoBean = telInfoBeanArray.getDataBean(0);
		// 契約サービス
		X31SDataBeanAccess keiyakuSvcBean = getKeiyakusvcinfo(webInfoBean);
		// 支払い方法情報
		X31SDataBeanAccess payWayBean = getPywyInfo(webInfoBean);

		// サービス契約番号(電話)
		parentMap.put(IN_SVC_KEI_NO_TEL, telInfoBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE));
		// ファミリーパック申込有無
		parentMap.put(IN_FAMIPA_MSKM_UM, netInfoBean.sendMessageString(CommonInfoCFConst.FP_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		parentMap.put(IN_IDO_DIV, getIdoKbn(webInfoBean));
		// 選択中サービス(電話)
		parentMap.put(IN_SELECT_SVC_TEL, keiyakuSvcBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE));
		// SYSID
		parentMap.put(IN_SYSID, webInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 請求契約番号
		parentMap.put(IN_SEIKY_KEI_NO, getSeikyKeiNo(payWayBean));
		// 申込明細番号
		parentMap.put(IN_MSKM_DTL_NO, netInfoBean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約回線内訳番号
		parentMap.put(IN_SVC_KEI_KAISEN_UW_NO, keiyakuSvcBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,
				X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV016020CC", parentMap);

		return outputMap;
	}
	
	/**
	 * 最新の機器提供サービス契約（多機能）から更新年月日時分秒取得し共有マップへ設定処理の上りマッピング処理です。
	 * 
	 * <br>
	 * @param bean データBean配列
	 * @param outputMap アウトマップ
	 * @return 結果
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016021CC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess webInfoBean = getWebInfo(bean[0]);
		// 光テレビ
		X31SDataBeanAccess eotvBean = getEotv(webInfoBean);

		//サービス契約番号(テレビ) 
		parentMap.put(IN_SVC_KEI_NO_TV, eotvBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE));

		// 更新年月日時分秒(更新前) テレビ
		parentMap.put(IN_TV_UPD_DTM_BF, eotvBean.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_13, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV016021CC", parentMap);

		return outputMap;
	}
	
	/**
	 * 割引サービスコード登録CC上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016033CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		ArrayList addWribSvcCdList = new ArrayList();

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// eo光ネット
		X31SDataBeanAccess bnNetinfo = getEonet(bnWebinfo);
		// eo光TV
		X31SDataBeanAccess bnTvinfo = getEotv(bnWebinfo);
		// SYSID
		String sysid = bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金グループ
		String prcGrpCd = bnNetinfo.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_11, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金コース
		String pcrsCd = bnNetinfo.sendMessageString(CommonInfoCFConst.PCRS_CD_11, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金プラン
		String pplanCd = bnNetinfo.sendMessageString(CommonInfoCFConst.PPLAN_CD_11, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金グループ(テレビ)
		String prcGrpCd_tv = bnTvinfo.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_13, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金コース(テレビ)
		String pcrsCd_tv = bnTvinfo.sendMessageString(CommonInfoCFConst.PCRS_CD_13, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金プラン(テレビ)
		String pplanCd_tv = bnTvinfo.sendMessageString(CommonInfoCFConst.PPLAN_CD_13, X31CWebConst.DATABEAN_GET_VALUE);
// ANK-3473-00-00 ADD START
		// サービス契約番号(テレビ)
		String svcKeiNo_tv = bnTvinfo.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE);
		// 申込明細番号(テレビ)
		String mskmDtlNo_tv = bnTvinfo.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_13, X31CWebConst.DATABEAN_GET_VALUE);
		// 更新年月日(テレビ)
		String updDtm_tv = bnTvinfo.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_13, X31CWebConst.DATABEAN_GET_VALUE);
// ANK-3473-00-00 ADD END
		// サービス契約番号(ネット)
		String svcKeiNo_net = bnNetinfo.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
		// 申込明細番号(ネット)
		String mskmDtlNo_net = bnNetinfo.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
		// 更新年月日(ネット)
		String updDtm_net = bnNetinfo.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_11, X31CWebConst.DATABEAN_GET_VALUE);

		// WEB割商品券リスト
		String chicketArray = JFUWebCommon.getWebWariCampList(opeDate);
		List<String> chicketList =Arrays.asList(chicketArray.split(","));
		// お祝いパックリスト
		String oiwaiPackArray = JFUWebCommon.getDispText("COMMONSETTING", "CAMP_CHK_LIST_SVC_1");
		List<String> oiwaiPackList =Arrays.asList(oiwaiPackArray.split(","));
		// ネット用キャンペーンリスト（選択制キャンペーンを含む）
		String netPackArray = JFUWebCommon.getDispText("COMMONSETTING", "CAMP_CHK_LIST_SVC_2");
		List<String> netPackList =Arrays.asList(netPackArray.split(","));
		// WEB割特別キャンペーンリスト
		String spCampaignDispDefine = JFUWebCommon.getDispText("COMMONSETTING", "WEB_WARI_SP_CAMP_LIST");

		List<String> webWariSpeCmpList = new ArrayList<String>();
		if (spCampaignDispDefine != null)
		{
			webWariSpeCmpList = Arrays.asList(spCampaignDispDefine.split(","));
		}

		// 自動登録キャンペーンリスト
		String autoCampaignDispDefine = JFUWebCommon.getDispText("COMMONSETTING", "WEB_WARI_AUTO_NET_CAMP_LIST");
		List<String> autoAddCpTaisyoList = new ArrayList<String>();
		if (spCampaignDispDefine != null)
		{
			autoAddCpTaisyoList = Arrays.asList(autoCampaignDispDefine.split(","));
		}

		// ■汎用コードリスト処理
		if (isHanyoCdAri(bnWebinfo))
		{
			// String配列汎用コードの要素数を取得
			Integer hanyoCdLength = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST).getCount();
			X31SDataBeanAccessArray hanyoCdList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST);
			X31SDataBeanAccess hanyoInfoBean = null;
			// 汎用コード、汎用コード区分をマッピング
			for (int i = 0; i < hanyoCdLength; i++)
			{
				hanyoInfoBean = hanyoCdList.getDataBean(i);
				// 汎用コード
				String hanyoCd = hanyoInfoBean.sendMessageString(CommonInfoCFConst.HANYO_CD_46, X31CWebConst.DATABEAN_GET_VALUE);
				// WEB割商品券ではないキャンペーンが選択されている場合のみ登録対象
				if (!JFUWebCommon.isNull(hanyoCd) && !chicketList.contains(hanyoCd) && !webWariSpeCmpList.contains(hanyoCd))
				{
					// 汎用種別コード
					String hanyoSbtCd = hanyoInfoBean.sendMessageString(CommonInfoCFConst.HANYO_SBT_CD_46, X31CWebConst.DATABEAN_GET_VALUE);
					// 汎用種別コードが"2:割引サービス"の場合のみ
					if (!JFUWebCommon.isNull(hanyoCd) && hanyoCd.length() > 0 && "2".equals(hanyoSbtCd))
					{
						HashMap<String, Object> wariMap = new HashMap<String, Object>();
						// 適用期間チェックしない
						wariMap.put(CHK_TERM, JFUStrConst.CD00002_0);
						// お祝いパックの場合はTVの料金グループ、コード、プランを設定
						if (oiwaiPackList.contains(hanyoCd))
						{
							// チェック用料金グループコード
							wariMap.put(CHK_PRC_GRP_CD, prcGrpCd_tv);
							// チェック用料金コースコード
							wariMap.put(CHK_PCRS_CD, pcrsCd_tv);
							// チェック用料金プランコード 
							wariMap.put(CHK_PPLAN_CD, pplanCd_tv);
							// eoTVサービス契約番号
							wariMap.put(SVC_KEI_NO, svcKeiNo_tv);
							// eoTV申込明細番号
							wariMap.put(MSKM_DTL_NO, mskmDtlNo_tv);
							// eoTV更新日時
							wariMap.put(UPD_DTM, updDtm_tv);
						}
						// ネットのキャンペーンはネットの料金グループ、コード、プランを設定
						else if (netPackList.contains(hanyoCd))
						{
							// チェック用料金グループコード
							wariMap.put(CHK_PRC_GRP_CD, prcGrpCd);
							// チェック用料金コースコード
							wariMap.put(CHK_PCRS_CD, pcrsCd);
							// チェック用料金プランコード 
							wariMap.put(CHK_PPLAN_CD, pplanCd);
							// サービス契約番号
							wariMap.put(SVC_KEI_NO, svcKeiNo_net);
							// 申込明細番号
							wariMap.put(MSKM_DTL_NO, mskmDtlNo_net);
							// 更新日時
							wariMap.put(UPD_DTM, updDtm_net);
						}
						else
						{
							// チェック用料金グループコード
							wariMap.put(CHK_PRC_GRP_CD, prcGrpCd);
							// チェック用料金コースコード
							wariMap.put(CHK_PCRS_CD, pcrsCd);
							// チェック用料金プランコード 
							wariMap.put(CHK_PPLAN_CD, pplanCd);
						}
						// SYSID
						wariMap.put(SYSID, sysid);
						// 割引サービスコード
						wariMap.put(ADDWRIBSVCCD, hanyoCd);
						// 即時適用フラグ
						wariMap.put(APLY_JUN, JFUStrConst.CD00403_1);
						// 異動区分
						wariMap.put(IDO_DIV, getIdoKbn(bnWebinfo));
						// 検索最大件数
						wariMap.put(MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);
						// 割引登録契機コード
						wariMap.put(WRIB_ADD_OPTY_CD, JFUStrConst.CD00874_2);

						addWribSvcCdList.add(wariMap);
					}
				}
			}
		}

		// ■自動登録キャンペーンリスト (ANK-4551-00-00)
		X31SDataBeanAccessArray autoAddCpList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.AUTO_ADD_CP_LIST);
		if (autoAddCpList != null && autoAddCpList.getCount() > 0)
		{
			// String配列汎用コードの要素数を取得
			Integer hanyoCdLength = autoAddCpList.getCount();
			X31SDataBeanAccess hanyoInfoBean = null;
			// 汎用コード、汎用コード区分をマッピング
			for (int i = 0; i < hanyoCdLength; i++)
			{
				hanyoInfoBean = autoAddCpList.getDataBean(i);
				// 汎用コード
				String hanyoCd = hanyoInfoBean.sendMessageString(CommonInfoCFConst.CAMPAIGN_CD_66, X31CWebConst.DATABEAN_GET_VALUE);
				// WEB割商品券ではないキャンペーンが選択されている場合のみ登録対象
				if (!JFUWebCommon.isNull(hanyoCd) && !chicketList.contains(hanyoCd) && !webWariSpeCmpList.contains(hanyoCd))
				{
					// 汎用種別コード
					String hanyoSbtCd = hanyoInfoBean.sendMessageString(CommonInfoCFConst.CAMPAIGN_SBT_CD_66, X31CWebConst.DATABEAN_GET_VALUE);
					// 汎用種別コードが"2:割引サービス"の場合のみ
					if (!JFUWebCommon.isNull(hanyoCd) && hanyoCd.length() > 0 && JFUStrConst.HANYO_SBT_CD_WARIBIKI.equals(hanyoSbtCd))
					{
						HashMap<String, Object> wariMap = new HashMap<String, Object>();
						// ■適用期間チェックしない 独自でチェックする。
						wariMap.put(CHK_TERM, JFUStrConst.CD00002_0);
						// 料金グループ、コード、プランを設定
						if (autoAddCpTaisyoList.contains(hanyoCd))
						{
							// チェック用料金グループコード
							wariMap.put(CHK_PRC_GRP_CD, prcGrpCd);
							// チェック用料金コースコード
							wariMap.put(CHK_PCRS_CD, pcrsCd);
							// チェック用料金プランコード 
							wariMap.put(CHK_PPLAN_CD, pplanCd);
							// サービス契約番号
							wariMap.put(SVC_KEI_NO, svcKeiNo_net);
							// 申込明細番号
							wariMap.put(MSKM_DTL_NO, mskmDtlNo_net);
							// 更新日時
							wariMap.put(UPD_DTM, updDtm_net);
						}
						// SYSID
						wariMap.put(SYSID, sysid);
						// 割引サービスコード
						wariMap.put(ADDWRIBSVCCD, hanyoCd);
						// 即時適用フラグ
						wariMap.put(APLY_JUN, JFUStrConst.CD00403_1);
						// 異動区分
						wariMap.put(IDO_DIV, getIdoKbn(bnWebinfo));
						// 検索最大件数
						wariMap.put(MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);
						// 割引登録契機コード
						wariMap.put(WRIB_ADD_OPTY_CD, JFUStrConst.CD00874_2);
						// 実行種別
						wariMap.put(MDL_EXEC_KIND, MDL_EXEC_KIND_AUTO);

						addWribSvcCdList.add(wariMap);
					}
				}
			}
		}

		// リストをパラメータに設定
		parentMap.put(ADDWRIBSVCLIST, addWribSvcCdList);
		// SYSID
		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		outputMap.put(JFUADDWRIBSVCCCMAP, parentMap);
		
		return outputMap;
	}

	/**
	 * データ抽出項目コード登録CC上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016034CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		ArrayList addDchsKmCdList = new ArrayList();

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// eo光ネット
		X31SDataBeanAccess bnNetinfo = getEonet(bnWebinfo);
		// eo光TV
		X31SDataBeanAccess bnTvinfo = getEotv(bnWebinfo);
		// SYSID
		String sysid = bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金グループ
		String prcGrpCd = bnNetinfo.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_11, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金コース
		String pcrsCd = bnNetinfo.sendMessageString(CommonInfoCFConst.PCRS_CD_11, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金プラン
		String pplanCd = bnNetinfo.sendMessageString(CommonInfoCFConst.PPLAN_CD_11, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金グループ(テレビ)
		String prcGrpCd_tv = bnTvinfo.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_13, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金コース(テレビ)
		String pcrsCd_tv = bnTvinfo.sendMessageString(CommonInfoCFConst.PCRS_CD_13, X31CWebConst.DATABEAN_GET_VALUE);
		// 料金プラン(テレビ)
		String pplanCd_tv = bnTvinfo.sendMessageString(CommonInfoCFConst.PPLAN_CD_13, X31CWebConst.DATABEAN_GET_VALUE);
// ANK-3473-00-00 ADD START
		// サービス契約番号(テレビ)
		String svcKeiNo_tv = bnTvinfo.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE);
		// 申込明細番号(テレビ)
		String mskmDtlNo_tv = bnTvinfo.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_13, X31CWebConst.DATABEAN_GET_VALUE);
		// 更新年月日(テレビ)
		String updDtm_tv = bnTvinfo.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_13, X31CWebConst.DATABEAN_GET_VALUE);
// ANK-3473-00-00 ADD END
// ANK-3832-00-00 ADD START
		// サービス契約番号(ネット)
		String svcKeiNo_net = bnNetinfo.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
		// 申込明細番号(ネット)
		String mskmDtlNo_net = bnNetinfo.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
// ANK-3832-00-00 ADD END

		// 対象判定
		// WEB割商品券リスト
		String chicketArray = JFUWebCommon.getWebWariCampList(opeDate);
		List<String> chicketList =Arrays.asList(chicketArray.split(","));
		// お祝いパックリスト
		String oiwaiPackArray = JFUWebCommon.getDispText("COMMONSETTING", "CAMP_CHK_LIST_SVC_1");
		List<String> oiwaiPackList =Arrays.asList(oiwaiPackArray.split(","));

		// WEB割特別キャンペーンリスト
		String spCampaignDispDefine = JFUWebCommon.getDispText("COMMONSETTING", "WEB_WARI_SP_CAMP_LIST");
		List<String> webWariSpeCmpList = new ArrayList<String>();
		if (spCampaignDispDefine != null)
		{
			webWariSpeCmpList = Arrays.asList(spCampaignDispDefine.split(","));
		}

		// 自動登録キャンペーンリスト
		String autoCampaignDispDefine = JFUWebCommon.getDispText("COMMONSETTING", "WEB_WARI_AUTO_NET_CAMP_LIST");
		List<String> autoAddCpTaisyoList = new ArrayList<String>();
		if (spCampaignDispDefine != null)
		{
			autoAddCpTaisyoList = Arrays.asList(autoCampaignDispDefine.split(","));
		}

		// ■汎用コードリスト処理
		if (isHanyoCdAri(bnWebinfo))
		{
			// String配列汎用コードの要素数を取得
			Integer hanyoCdLength = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST).getCount();
			X31SDataBeanAccessArray hanyoCdList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST);
			X31SDataBeanAccess hanyoInfoBean = null;
			// 汎用コード、汎用コード区分をマッピング
			for (int i = 0; i < hanyoCdLength; i++)
			{
				hanyoInfoBean = hanyoCdList.getDataBean(i);
				// 汎用コード
				String hanyoCd = hanyoInfoBean.sendMessageString(CommonInfoCFConst.HANYO_CD_46, X31CWebConst.DATABEAN_GET_VALUE);
				// WEB割商品券ではないキャンペーンが選択されている場合のみ登録対象
				if (!JFUWebCommon.isNull(hanyoCd) && !chicketList.contains(hanyoCd) && !webWariSpeCmpList.contains(hanyoCd))
				{
					// 汎用種別コード
					String hanyoSbtCd = hanyoInfoBean.sendMessageString(CommonInfoCFConst.HANYO_SBT_CD_46, X31CWebConst.DATABEAN_GET_VALUE);
					// 汎用種別コードが"2:データ抽出項目"の場合のみ
					if (!JFUWebCommon.isNull(hanyoCd) && hanyoCd.length() > 0 && "1".equals(hanyoSbtCd))
					{
						HashMap<String, Object> dtCdMap = new HashMap<String, Object>();
						// 適用期間チェックしない
						dtCdMap.put(CHK_TERM, JFUStrConst.CD00002_0);
						// お祝いパックの場合はTVの料金グループ、コード、プランを設定
						if (oiwaiPackList.contains(hanyoCd))
						{
							// チェック用料金グループコード
							dtCdMap.put(CHK_PRC_GRP_CD, prcGrpCd_tv);
							// チェック用料金コースコード
							dtCdMap.put(CHK_PCRS_CD, pcrsCd_tv);
							// チェック用料金プランコード 
							dtCdMap.put(CHK_PPLAN_CD, pplanCd_tv);
							// eoTVサービス契約番号
							dtCdMap.put(SVC_KEI_NO, svcKeiNo_tv);
							// eoTV申込明細番号
							dtCdMap.put(MSKM_DTL_NO, mskmDtlNo_tv);
							// eoTV更新日時
							dtCdMap.put(UPD_DTM, updDtm_tv);
						}
						else
						{
							// チェック用料金グループコード
							dtCdMap.put(CHK_PRC_GRP_CD, prcGrpCd);
							// チェック用料金コースコード
							dtCdMap.put(CHK_PCRS_CD, pcrsCd);
							// チェック用料金プランコード 
							dtCdMap.put(CHK_PPLAN_CD, pplanCd);
// ANK-3832-00-00 ADD START
							// サービス契約番号
							dtCdMap.put(SVC_KEI_NO, svcKeiNo_net);
							// 申込明細番号
							dtCdMap.put(MSKM_DTL_NO, mskmDtlNo_net);
// ANK-3832-00-00 ADD END
						}
						// SYSID
						dtCdMap.put(SYSID, sysid);
						// データ抽出項目コード
						dtCdMap.put(ADDDCHSKMCD, hanyoCd);
						// 即時適用フラグ
						dtCdMap.put(APLY_JUN, JFUStrConst.CD00403_1);
						// 異動区分
						dtCdMap.put(IDO_DIV, getIdoKbn(bnWebinfo));
						// 検索最大件数
						dtCdMap.put(MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);
						// データ抽出項目設定登録契機コード
						dtCdMap.put(DCHSKMST_ADD_OPTY_CD, JFUStrConst.CD00874_2);

						addDchsKmCdList.add(dtCdMap);
					}
				}
			}
		}

		// ■自動登録キャンペーンリスト処理 (ANK-4551-00-00)
		X31SDataBeanAccessArray autoAddCpList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.AUTO_ADD_CP_LIST);
		if (autoAddCpList != null && autoAddCpList.getCount() > 0)
		{
			// String配列汎用コードの要素数を取得
			Integer hanyoCdLength = autoAddCpList.getCount();
			X31SDataBeanAccess hanyoInfoBean = null;
			// 汎用コード、汎用コード区分をマッピング
			for (int i = 0; i < hanyoCdLength; i++)
			{
				hanyoInfoBean = autoAddCpList.getDataBean(i);
				// 汎用コード
				String hanyoCd = hanyoInfoBean.sendMessageString(CommonInfoCFConst.CAMPAIGN_CD_66, X31CWebConst.DATABEAN_GET_VALUE);
				// WEB割商品券ではないキャンペーンが選択されている場合のみ登録対象
				if (!JFUWebCommon.isNull(hanyoCd) && !chicketList.contains(hanyoCd) && !webWariSpeCmpList.contains(hanyoCd))
				{
					// 汎用種別コード
					String hanyoSbtCd = hanyoInfoBean.sendMessageString(CommonInfoCFConst.CAMPAIGN_SBT_CD_66, X31CWebConst.DATABEAN_GET_VALUE);
					// 汎用種別コードが"1:データ抽出項目"の場合のみ
					if (!JFUWebCommon.isNull(hanyoCd) && hanyoCd.length() > 0 && JFUStrConst.HANYO_SBT_CD_HANYO.equals(hanyoSbtCd))
					{
						HashMap<String, Object> dtCdMap = new HashMap<String, Object>();
						// ■適用期間チェックしない 独自でチェックする。
						dtCdMap.put(CHK_TERM, JFUStrConst.CD00002_0);
						// 料金グループ、コード、プランを設定
						if (autoAddCpTaisyoList.contains(hanyoCd))
						{
							// チェック用料金グループコード
							dtCdMap.put(CHK_PRC_GRP_CD, prcGrpCd);
							// チェック用料金コースコード
							dtCdMap.put(CHK_PCRS_CD, pcrsCd);
							// チェック用料金プランコード 
							dtCdMap.put(CHK_PPLAN_CD, pplanCd);
							// サービス契約番号
							dtCdMap.put(SVC_KEI_NO, svcKeiNo_net);
							// 申込明細番号
							dtCdMap.put(MSKM_DTL_NO, mskmDtlNo_net);
						}
						// SYSID
						dtCdMap.put(SYSID, sysid);
						// データ抽出項目コード
						dtCdMap.put(ADDDCHSKMCD, hanyoCd);
						// 即時適用フラグ
						dtCdMap.put(APLY_JUN, JFUStrConst.CD00403_1);
						// 異動区分
						dtCdMap.put(IDO_DIV, getIdoKbn(bnWebinfo));
						// 検索最大件数
						dtCdMap.put(MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);
						// データ抽出項目設定登録契機コード
						dtCdMap.put(DCHSKMST_ADD_OPTY_CD, JFUStrConst.CD00874_2);
						// 実行種別
						dtCdMap.put(MDL_EXEC_KIND, MDL_EXEC_KIND_AUTO);

						addDchsKmCdList.add(dtCdMap);
					}
				}
			}
		}

		// リストをパラメータに設定
		parentMap.put(AddDchskmCdList, addDchsKmCdList);
		outputMap.put(JFUAddDchskmCdCCMap, parentMap);

		return outputMap;
	}

	/**
	 * 上りマッピングを行います。
	 * <br>
	 * @param bean データBean配列
	 * @param outputMap
	 * @param bl VIEWロジックインスタンス
	 * @return 送信情報
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setTransferCC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// データ移送数
		parentMap.put(KEY_KEY_CNT, RPG_KEY_CNT_4);

		// データ移送先
		parentMap.put(KEY_TRAN_NAME, CC_TITLE_JKK_CHK_DOBANITEN_PSB_AREA);

		// 都道府県
		parentMap.put(TRANS_KEY_1, TRANS_KEY_1_VALUE_1);
		// 市区町村
		parentMap.put(TRANS_KEY_2, TRANS_KEY_1_VALUE_2);
		// 大字通称名
		parentMap.put(TRANS_KEY_3, TRANS_KEY_1_VALUE_3);
		// 字丁目名
		parentMap.put(TRANS_KEY_4, TRANS_KEY_1_VALUE_4);

		// 共通情報10のマッピング
		outputMap.put(CC_TITLE_JFU_TRANSFER, parentMap);

		return outputMap;
	}	
	
	//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 start
	
	/**
	 *  請求口座追加CCの上りマッピング処理です。
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUAddSeikyKozaCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 支払い方法情報
		X31SDataBeanAccess cash_infobean = getPywyInfo(web_new_infobean);

		// 支払方法引継
		String hikitugi = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		// 支払い方法
		String payway = cash_infobean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);
		// 口座振替フラグ
		String koufuriFlg = cash_infobean.sendMessageString(CommonInfoCFConst.KOUFURI_FLG_15, X31CWebConst.DATABEAN_GET_VALUE);
		
		// 支払い方法を引き継ぐ場合または 支払い方法が銀行・ゆうちょ以外または、口座振替フラグ＝TRUE以外の場合は、nullを返します。
		if (JFUStrConst.PAYWAY_CONTINUE_CONTINUE.equals(hikitugi) || !JFUStrConst.PAYWAY_BANK_POSTAL.equals(payway)
				|| !JFUStrConst.KOUFURI_YES.equals(koufuriFlg))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(JCMConstants.FUNC_CODE_KEY, func_code);

		String tmpBankCd = cash_infobean.sendMessageString(CommonInfoCFConst.BANK_CD_15, X31CWebConst.DATABEAN_GET_VALUE);
	    // 金融機関コード
		parentMap.put(BANK_CD, tmpBankCd);
	    // 金融機関支店コード
		parentMap.put(BANK_SHITEN_CD, cash_infobean.sendMessageString(CommonInfoCFConst.BRANCH_CD_15, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 金融機関コードにより分岐
		if (BANK_CD_POSTAL.equals(tmpBankCd)) {
			// ゆうちょ銀行の場合
		    // 通帳記号
			parentMap.put(TSUCHO_SYMBOL, cash_infobean.sendMessageString(CommonInfoCFConst.TSUCHO_SYMBOL_15, X31CWebConst.DATABEAN_GET_VALUE));
		    // 通帳番号
			parentMap.put(TSUCHO_NO, cash_infobean.sendMessageString(CommonInfoCFConst.TSUCHO_NO_15, X31CWebConst.DATABEAN_GET_VALUE));
			// 支払方法コード
			parentMap.put(PAYWAY_CD, JFUStrConst.CD00166_3);
			// 審査与信結果コード
			parentMap.put(PAYWAY_PAY_SKEKKA_CD, JFUStrConst.CD00249_30);
			
		} else {
			
			// ゆうちょ銀行以外の場合
		    // 預金種目コード
			parentMap.put(YOKIN_SHUMOKU_CD, cash_infobean.sendMessageString(CommonInfoCFConst.DEPODIT_ITEM_15, X31CWebConst.DATABEAN_GET_VALUE));
		    // 口座番号
			parentMap.put(KOZA_NO, cash_infobean.sendMessageString(CommonInfoCFConst.ACCOUNT_NUMBER_15, X31CWebConst.DATABEAN_GET_VALUE));
			// 支払方法コード
			parentMap.put(PAYWAY_CD, JFUStrConst.CD00166_2);
			// 審査与信結果コード
			parentMap.put(PAYWAY_PAY_SKEKKA_CD, JFUStrConst.CD00249_20);
		}
		
		
	    // 口座名義人カナ名
		parentMap.put(KOZA_MEIGIN_KANA, cash_infobean.sendMessageString(CommonInfoCFConst.ACCOUNT_HOLDER_15, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		parentMap.put(IDO_DIV, getIdoKbn(web_new_infobean));		
		// 請求契約情報.請求契約番号 
		parentMap.put(SEIKY_KEI_NO, getSeikyKeiNo(cash_infobean));

		outputMap.put(CC_TITLE_JFU_ADD_SEIKY_KOZA_CC, parentMap);
		
		return outputMap;

	}
	//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 end

	/**
	 *  割引サービスキャンセルCCの上りマッピング処理です。
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @return outputMap
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUWribSvcCancelCC(X31SDataBeanAccess[] bean, HashMap outputMap) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// eo光ネット
		X31SDataBeanAccess bnNetinfo = getEonet(web_new_infobean);

		// 販売タイプ
		String hanbaiType = web_new_infobean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);

		if(!JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType))
		{
			// 訪販以外の場合、実行しない為、NULLを設定
			outputMap.put(CC_TITLE_JFU_WRIB_SVC_CANCEL_CC, null);

			return outputMap;
		}

		// SYSID
		parentMap.put(IN_SYSID, web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 割引サービスコード(カンマ区切り)
		parentMap.put(IN_CANCEL_WRIB_SVC_CD, JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00926, KEY_OTHER_CMP_CD_SMART_LINK));
		// 申込明細番号
		parentMap.put(IN_MSKM_DTL_NO, bnNetinfo.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));

		// タブレット申込有無
		if(JFUStrConst.SMALIN_TABLET_MSKM.equals(bnNetinfo.sendMessageString(CommonInfoCFConst.TABLET_TANMT_MSKM_11,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			parentMap.put(IN_SMLN_TABLET_MSKM_UM, JFUStrConst.CD00002_1);
		}
		else
		{
			parentMap.put(IN_SMLN_TABLET_MSKM_UM, JFUStrConst.CD00002_0);
		}

		// 異動区分
		parentMap.put(IN_IDO_DIV, getIdoKbn(web_new_infobean));

		outputMap.put(CC_TITLE_JFU_WRIB_SVC_CANCEL_CC, parentMap);

		return outputMap;
	}

	/**
	 *  割引サービスキャンセルCC（ＧＨ）の上りマッピング処理です。
	 * 
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @return outputMap
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUWribSvcCancel2CC(X31SDataBeanAccess[] bean, HashMap outputMap) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// eo光ネット
		X31SDataBeanAccess bnNetinfo = getEonet(web_new_infobean);

		// 販売タイプ
		String hanbaiType = web_new_infobean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);

		if(!JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType))
		{
			// 訪販以外の場合、実行しない為、NULLを設定
			outputMap.put(CC_TITLE_JFU_WRIB_SVC_CANCEL2_CC, null);

			return outputMap;
		}

		// SYSID
		parentMap.put(IN_SYSID, web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 割引サービスコード(カンマ区切り)
		parentMap.put(IN_CANCEL_WRIB_SVC_CD, JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00926, KEY_OTHER_CMP_CD_GH));
		// 申込明細番号
		parentMap.put(IN_MSKM_DTL_NO, bnNetinfo.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));

		// タブレット申込有無
		if(JFUStrConst.GH_TANMT_BUY.equals(bnNetinfo.sendMessageString(CommonInfoCFConst.GH_TANMT_11,
				X31CWebConst.DATABEAN_GET_VALUE)))
		{
			parentMap.put(IN_SMLN_TABLET_MSKM_UM, JFUStrConst.CD00002_1);
		}
		else
		{
			parentMap.put(IN_SMLN_TABLET_MSKM_UM, JFUStrConst.CD00002_0);
		}

		// 異動区分
		parentMap.put(IN_IDO_DIV, getIdoKbn(web_new_infobean));

		outputMap.put(CC_TITLE_JFU_WRIB_SVC_CANCEL2_CC, parentMap);

		return outputMap;
	}

	/**
	 * CASEファイル作成ワーク登録の上りマッピングをする(FUSV016030SC)
	 * 
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 */
	public HashMap<String, Object> setECR0511D010(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code, String opeDate)
			throws Exception
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess net_infobean = getEonet(web_new_infobean);

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		//CASEファイル種別コード 
		parentMap.put(ELEC_TR_CSFL_SBT_CD, JFUStrConst.CD01688_003);
		//申込受付年月日時分秒 
		parentMap.put(ELEC_TR_MSKM_UK_DTM, opeDate);
		//問合せ客タイプ名 
		parentMap.put(ELEC_TR_PROSCST_TYPE_NM, JFUWebCommon.getDispText(ELEC_TR, ELEC_TR_PROSCST_TYPE_NM));
		//サービス契約番号（ネット）
		parentMap.put(SVC_KEI_NO, net_infobean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));

		//問合せ状態名 
		parentMap.put(ELEC_TR_TOIAWASE_STAT_NM, JFUWebCommon.getDispText(ELEC_TR, ELEC_TR_TOIAWASE_STAT_NM));
		//対応記録ステータス名 
		parentMap.put(ELEC_TR_TAIOKRK_STAT_NM, JFUWebCommon.getDispText(ELEC_TR, ELEC_TR_TAIOKRK_STAT_NM));
		//受付者 
		parentMap.put(ELEC_TR_UKETSUKESYA, JFUWebCommon.getDispText(ELEC_TR, ELEC_TR_UKETSUKESYA));
		//担当者 
		parentMap.put(ELEC_TR_TNTSHA, JFUWebCommon.getDispText(ELEC_TR, ELEC_TR_TNTSHA));
		//キューBOX名 
		parentMap.put(ELEC_TR_QUE_BOX_NM, JFUWebCommon.getDispText(ELEC_TR, ELEC_TR_QUE_BOX_NM));
		//問合せ受付種別名 
		parentMap.put(ELEC_TR_TOIAWASE_UK_SBT_NM, JFUWebCommon.getDispText(ELEC_TR, ELEC_TR_TOIAWASE_UK_SBT_NM));

		//タイトル
		if (JFUWebCommon.isGasKadenKikitori(web_new_infobean))
		{
			//関電ガスｅｏ割（架電希望）の聞き取りの場合
			parentMap.put(ELEC_TR_TITLE, JFUWebCommon.getDispText(ELEC_TR, ELEC_TR_GAS_TITLE));
		}
		else
		{
			// eo電気（架電希望）の聞き取りの場合
			parentMap.put(ELEC_TR_TITLE, JFUWebCommon.getDispText(ELEC_TR, ELEC_TR_TITLE));
		}

		//対応記録履歴 
		parentMap.put(ELEC_TR_TAIO_KIROK_RIREKI, JFUGetElecTaioKirok.getRireki(bean));

		//CASEファイル作成済フラグ 
		parentMap.put(ELEC_TR_CSFL_SKSI_ZM_FLG, JFUStrConst.CD00581_0);

		outputMap.put("ECR0511D010", parentMap);

		return outputMap;
	}
// ANK-3112-00-00 ADD START

	/**
	 * 申込一意照会への上りマッピングを行う。
	 * 
	 * <br>
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0011A010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス情報
		X31SDataBeanAccess contract_infobean = getKeiyakusvcinfo(bnWebinfo);
		
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		
		// 申込番号
		parentMap.put("key_mskm_no", contract_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0011A010", parentMap);

		return outputMap;
	}

	/**
	 * 申込内容変更への上りマッピングを行う。
	 * 
	 * <br>
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0011C020(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String screenId)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス情報
		X31SDataBeanAccess contract_infobean = getKeiyakusvcinfo(bnWebinfo);
		// ANK-3436-00-00 ADD START
// その他情報
		X31SDataBeanAccess elseInfoBean = getElseInfo(bnWebinfo);
// ANK-3436-00-00 ADD END
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 機能コード
		parentMap.put("func_code", func_code);
		
		// 申込番号
		parentMap.put("mskm_no", contract_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));
		

// ANK-3436-00-00 CHG START
//		// 電話連絡希望日種別コード
//		parentMap.put("tel_rrk_kibod_sbt_cd", bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_2_DOW, X31CWebConst.DATABEAN_GET_VALUE));
//		
//		// 電話連絡希望時間帯コード
//		parentMap.put("tel_rrk_kibo_time_cd", bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_2_KBTMZ, X31CWebConst.DATABEAN_GET_VALUE));
		String strSet_wari_mkm_skbt_div;
		StringBuilder sbSet_wari_mkm_skbt_no = new StringBuilder();
		if (JFUScreenConst.SCREEN_ID_FUW00116.equals(screenId)) {
			// mineoセット割申請方法取得
			strSet_wari_mkm_skbt_div = bean[1].sendMessageString(FUW00116SFConst.MINEO_SETPLAN_KBN, X31CWebConst.DATABEAN_GET_VALUE);
			if ("2".equals(strSet_wari_mkm_skbt_div)) {
				// 電話番号で申請
				sbSet_wari_mkm_skbt_no
				.append(bean[1].sendMessageString(FUW00116SFConst.MINEO_TELNO_AREACD, X31CWebConst.DATABEAN_GET_VALUE))
				.append(bean[1].sendMessageString(FUW00116SFConst.MINEO_TELNO_CITYCD, X31CWebConst.DATABEAN_GET_VALUE))
				.append(bean[1].sendMessageString(FUW00116SFConst.MINEO_TELNO_LOCAL, X31CWebConst.DATABEAN_GET_VALUE));
			} else {
				// 受付番号で申請
				sbSet_wari_mkm_skbt_no
				.append(bean[1].sendMessageString(FUW00116SFConst.MINEO_UKTK_NO, X31CWebConst.DATABEAN_GET_VALUE));
			}
		} else {
			// 以外は共有フォームビーンから設定
			strSet_wari_mkm_skbt_div = elseInfoBean.sendMessageString(CommonInfoCFConst.MINEO_SETPLAN_KBN_18, X31CWebConst.DATABEAN_GET_VALUE);
			sbSet_wari_mkm_skbt_no.append(elseInfoBean.sendMessageString(CommonInfoCFConst.MINEO_SETPLAN_NO_18, X31CWebConst.DATABEAN_GET_VALUE));
		}
		if (JFUScreenConst.SCREEN_ID_FUW00943.equals(screenId)) {
			// 電話連絡希望日種別コード
			parentMap.put("tel_rrk_kibod_sbt_cd", bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_2_DOW, X31CWebConst.DATABEAN_GET_VALUE));
			
			// 電話連絡希望時間帯コード
			parentMap.put("tel_rrk_kibo_time_cd", bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_2_KBTMZ, X31CWebConst.DATABEAN_GET_VALUE));
		}
// ANK-3436-00-00 CHG END

		if ("1".equals(strSet_wari_mkm_skbt_div) || "2".equals(strSet_wari_mkm_skbt_div)) {
			if (!JFUStrConst.EMPTY.equals(sbSet_wari_mkm_skbt_no.toString())) {
				// セット割申込識別区分
				parentMap.put("set_wari_mkm_skbt_div", strSet_wari_mkm_skbt_div);
				// セット割申込識別番号
				parentMap.put("set_wari_mkm_skbt_no", sbSet_wari_mkm_skbt_no.toString());
			}
		}
		// 定額サービス申込機器（転記させるため、再度移送）
		parentMap.put("tegak_svc_mskm_kiki", bnWebinfo.sendMessageString(CommonInfoCFConst.TEGAK_SVC_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("EKK0011C020", parentMap);
		
		return outputMap;
	}
// ANK-3112-00-00 ADD END
// ANK-3149-00-00 ADD START
	
	/**
	 * サービス契約<eo光ネット>一意照会の上りマッピング処理です。
	 *
	 * <br>
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap アウトマップ
	 * @param funcCode 機能コード
	 * @return HashMap
	 * @exception Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016040SC(X31SDataBeanAccess[] bean, HashMap outputMap, String funcCode) throws Exception
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 2)
		{
			return null;
		}
		
		// WEB新規情報
		X31SDataBeanAccess webNewInfobean = getWebInfo(bean[0]);
		
		// 光ネット
		X31SDataBeanAccess netInfobean = getEonet(webNewInfobean);
		
		// eoセキュリティーパック
		String netSecurityPack = netInfobean.sendMessageString(CommonInfoCFConst.SECURITY_PACK_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		// プレミアムパック
		String netPremiumPack = netInfobean.sendMessageString(CommonInfoCFConst.PREMIUM_PACK_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		// インターネットサギウォール
		String netInetsgwl = netInfobean.sendMessageString(CommonInfoCFConst.INETSGWL_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		// ノートンファミリープレミア
		String netNtfmlprm = netInfobean.sendMessageString(CommonInfoCFConst.NTFMLPRM_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		// ANK-3484-00-00 2018/10/12 ADD START
		// おうちの機器補償（ＰＣプラン）
		String netPcpln = netInfobean.sendMessageString(CommonInfoCFConst.KK_COMP_PC_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		// おうちの機器補償（ＰＣワイドプラン）
		String netPcwpln = netInfobean.sendMessageString(CommonInfoCFConst.KK_COMP_PCW_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		// おうちの機器補償（ＴＶプラン）
		String netTvpln = netInfobean.sendMessageString(CommonInfoCFConst.KK_COMP_TV_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		// ANK-3484-00-00 2018/10/12 ADD END

		// eoセキュリティーパックが"1"(申し込む)以外　かつ
		// プレミアムパックが"1"(申し込む)以外　かつ
		// インターネットサギウォールが"1"(申し込む)以外　かつ
		// ノートンファミリープレミアが"1"(申し込む)以外　かつ
		// おうちの聞き補償が"1"(申し込む)以外の場合、マッピングを行わない
		if (!JFUStrConst.SECURITY_PAC_MSKM.equals(netSecurityPack)
				&& !JFUStrConst.SMALIN_PREMIUM_PACK_MSKM.equals(netPremiumPack)
				&& !JFUStrConst.INETSGWL_MSKM.equals(netInetsgwl)
				&& !JFUStrConst.NTFMLPRM_MSKM.equals(netNtfmlprm)
				// ANK-3484-00-00 2018/10/12 ADD START
				&& !JFUStrConst.PC_PLN_MSKM.equals(netPcpln)
				&& !JFUStrConst.PCW_PLN_MSKM.equals(netPcwpln)
				&& !JFUStrConst.TV_PLN_MSKM.equals(netTvpln)
			// ANK-3484-00-00 2018/10/12 ADD END
				)
		{
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 機能コード
		parentMap.put("func_code", funcCode);
		
		// サービス契約番号
		parentMap.put("key_svc_kei_no", netInfobean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		
		outputMap.put("FUSV016040SC", parentMap);
		
		return outputMap;
	}
	
	/**
	 * セキュリティパック操作CCの上りマッピング処理です。
	 *
	 * <br>
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap アウトマップ
	 * @param funcCode 機能コード
	 * @return HashMap
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJKKSecurityPackOperateCC(X31SDataBeanAccess[] bean, HashMap outputMap, String funcCode) throws Exception
	{
		if (bean == null)
		{
			return null;
		}
		
		if (bean.length != 2)
		{
			return null;
		}
		
		// WEB新規情報
		X31SDataBeanAccess webNewInfobean = getWebInfo(bean[0]);
		
		// 光ネット
		X31SDataBeanAccess netInfobean = getEonet(webNewInfobean);
		
		// eoセキュリティーパック
		String netSecurityPack = netInfobean.sendMessageString(CommonInfoCFConst.SECURITY_PACK_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		// プレミアムパック
		String netPremiumPack = netInfobean.sendMessageString(CommonInfoCFConst.PREMIUM_PACK_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		// インターネットサギウォール
		String netInetsgwl = netInfobean.sendMessageString(CommonInfoCFConst.INETSGWL_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		// ノートンファミリープレミア
		String netNtfmlprm = netInfobean.sendMessageString(CommonInfoCFConst.NTFMLPRM_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		// eoセキュリティーパックが"1"(申し込む)以外　かつ
		// プレミアムパックが"1"(申し込む)以外　かつ
		// インターネットサギウォールが"1"(申し込む)以外　かつ
		// ノートンファミリープレミアが"1"(申し込む)以外の場合、マッピングを行わない
		if (!JFUStrConst.SECURITY_PAC_MSKM.equals(netSecurityPack)
				&& !JFUStrConst.SMALIN_PREMIUM_PACK_MSKM.equals(netPremiumPack)
				&& !JFUStrConst.INETSGWL_MSKM.equals(netInetsgwl)
				&& !JFUStrConst.NTFMLPRM_MSKM.equals(netNtfmlprm))
		{
			return null;
		}
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap childMap = new HashMap();
		
		// 機能コード
		parentMap.put("func_code", funcCode);
		
		// 引継有無
		parentMap.put("hikitugi_um", HIKITUGI_UM_NON);
		
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(webNewInfobean));
		
		// SYSID
		childMap.put("sysid", webNewInfobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		
		// サービス契約番号
		childMap.put("svc_kei_no", netInfobean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 申込明細番号
		childMap.put("mskm_dtl_no", netInfobean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		
		// セキュリティーパック対象フラグ
		if (JFUStrConst.SECURITY_PAC_MSKM.equals(netSecurityPack))
		{
			// eoセキュリティーパックが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put("security_pack_tg_flg", TG_FLG_ARI);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put("security_pack_tg_flg", TG_FLG_NON);
		}
		
		// プレミアムパック対象フラグ
		if (JFUStrConst.SMALIN_PREMIUM_PACK_MSKM.equals(netPremiumPack))
		{
			// プレミアムパックが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put("premium_pack_tg_flg", TG_FLG_ARI);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put("premium_pack_tg_flg", TG_FLG_NON);
		}
		
		// インターネットサギウォール対象フラグ
		if (JFUStrConst.INETSGWL_MSKM.equals(netInetsgwl))
		{
			// インターネットサギウォールが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put("inetsgwl_tg_flg", TG_FLG_ARI);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put("inetsgwl_tg_flg", TG_FLG_NON);
		}
		
		// ノートンファミリープレミア対象フラグ
		if (JFUStrConst.NTFMLPRM_MSKM.equals(netNtfmlprm))
		{
			// ノートンファミリープレミアが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put("ntfmlprm_tg_flg", TG_FLG_ARI);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put("ntfmlprm_tg_flg", TG_FLG_NON);
		}
		
		// 登録用情報リスト
		ArrayList addInfoList = new ArrayList();
		addInfoList.add(childMap);
		parentMap.put("add_info_list", addInfoList);
		
		outputMap.put("JKKSecurityPackOperateCC", parentMap);
		
		return outputMap;
	}
// ANK-3149-00-00 ADD END

// ANK-3436-00-00 ADD START
	/**
	 * 上りマッピングをする
	 * @param bean [0]：共有フォームBean
	 * @param bean [1]：サービスフォームBean
	 * @param outputMap 設定値格納マップ
	 * @param argKsnKbn 更新区分
	 * @param argProcessingType 処理区分
	 * @param argOpeDateTimeStamp 運用日時分秒ミリ秒
	 * @return HashMap 結果マップ
	 */
	public HashMap<String, Object> setJFUMineoSetPlanRenkeiCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String argOpeDateTimeStamp) 
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共有フォームBean
		X31SDataBeanAccess commonInfoBean = bean[0];
		// サービスフォームBean
		X31SDataBeanAccess serviceFormBean = bean[1];
		
		// 新規系
		// ■ＷＥＢ新規情報
		X31SDataBeanAccess webNewBean = commonInfoBean.getDataBeanArray(CommonInfoCFConst.WEB_NEW_INFO).getDataBean(0);
		// ■契約サービス情報
		X31SDataBeanAccess keiSvcBean = webNewBean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO).getDataBean(0);
		// ■eo光ネット
		X31SDataBeanAccess eoNetBean = webNewBean.getDataBeanArray(CommonInfoCFConst.EONET).getDataBean(0);
		// ■PASCO
		X31SDataBeanAccess pascoBean = webNewBean.getDataBeanArray(CommonInfoCFConst.PASCO_INFO).getDataBean(0);
		// ■マンション情報
		X31SDataBeanAccess mansionBean = webNewBean.getDataBeanArray(CommonInfoCFConst.MANSION_INFO).getDataBean(0);
		// 申込時mineo番号を取得
		String strMineoSetPlanKbn = serviceFormBean.sendMessageString(FUW00116SFConst.MINEO_SETPLAN_KBN, X31CWebConst.DATABEAN_GET_VALUE);
		StringBuilder strMineoSetPlanNo = new StringBuilder();
		if ("1".equals(strMineoSetPlanKbn)) {
			// 受付番号で申請
			strMineoSetPlanNo.append(serviceFormBean.sendMessageString(FUW00116SFConst.MINEO_UKTK_NO, X31CWebConst.DATABEAN_GET_VALUE));
		} else if ("2".equals(strMineoSetPlanKbn)) {
			// 電話番号で申請
			strMineoSetPlanNo.append(serviceFormBean.sendMessageString(FUW00116SFConst.MINEO_TELNO_AREACD, X31CWebConst.DATABEAN_GET_VALUE))
					.append(serviceFormBean.sendMessageString(FUW00116SFConst.MINEO_TELNO_CITYCD, X31CWebConst.DATABEAN_GET_VALUE))
					.append(serviceFormBean.sendMessageString(FUW00116SFConst.MINEO_TELNO_LOCAL, X31CWebConst.DATABEAN_GET_VALUE));
		}

		// ＫＥＹ＿更新区分
		parentMap.put(KEY_KSN_KBN, KSN_KBN);
		// ＫＥＹ＿リクエストID
		StringBuilder sbRequestID = new StringBuilder();
		sbRequestID.append("1")
			.append(PROCESSING_TYPE)
			.append(webNewBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE))
			.append(argOpeDateTimeStamp);
		parentMap.put(KEY_REQUEST_ID, sbRequestID.toString());
		// ＫＥＹ＿運用日時
		parentMap.put(KEY_OPERATE_DATETIME, argOpeDateTimeStamp);
		// ＫＥＹ＿処理区分
		parentMap.put(KEY_PROCESSING_TYPE, PROCESSING_TYPE);
		// ＫＥＹ＿キャンペーンコード
		parentMap.put(KEY_DISCOUT_CODE, serviceFormBean.sendMessageString(FUW00116SFConst.MINEO_SETPLAN_WRIB_CD, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿サービス契約番号
		parentMap.put(KEY_SERIVCE_NUM, eoNetBean.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿SYSID
		parentMap.put(KEY_SYSID, webNewBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿請求先番号
		parentMap.put(KEY_INVOICE_NUM, "");
		// ＫＥＹ＿料金グループ
		String strFeeGroup = eoNetBean.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_11, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put(KEY_FEE_GROUP, strFeeGroup);
		// ＫＥＹ＿契約者住所コード
		if (JFUStrConst.CD00133_02.equals(strFeeGroup)) {
			// 料金グループコード eo光ネットホームタイプの場合は、ＰＡＳＣＯ情報 住所コード
			parentMap.put(KEY_CONTRACTOR_ADDRESS_CODE, pascoBean.sendMessageString(CommonInfoCFConst.ADDCD_07, X31CWebConst.DATABEAN_GET_VALUE));
		} else {
			// 料金グループコード eo光ネットホームタイプ以外の場合は、マンション情報 マンション物件住所コード
			parentMap.put(KEY_CONTRACTOR_ADDRESS_CODE, mansionBean.sendMessageString(CommonInfoCFConst.MANSION_BUKKEN_AD_CD_16, X31CWebConst.DATABEAN_GET_VALUE));
		}
		// ＫＥＹ＿サービス
		parentMap.put(KEY_SERVICE, JFUStrConst.CD00130_01);
		// ＫＥＹ＿料金コース
		parentMap.put(KEY_FEE_COURCE, eoNetBean.sendMessageString(CommonInfoCFConst.PCRS_CD_11, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿料金プラン
		parentMap.put(KEY_FEE_PLAN, eoNetBean.sendMessageString(CommonInfoCFConst.PPLAN_CD_11, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿契約形態コード
		parentMap.put(KEY_CONTRACT_FORM, mansionBean.sendMessageString(CommonInfoCFConst.PAYWAY_CD_16, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿申込日
		parentMap.put(KEY_SUBSCRIPTION_DATE, argOpeDateTimeStamp.substring(0, 8));
		// ＫＥＹ＿照査日
		parentMap.put(KEY_INSPECTION_DATE, argOpeDateTimeStamp.substring(0, 8));
		// ＫＥＹ＿受付番号
		parentMap.put(KEY_ACCEPTANCE_NUM, keiSvcBean.sendMessageString(CommonInfoCFConst.MSKMSHO_NO_10, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿契約状態
		parentMap.put(KEY_CONTRACT_CONDITION, JFUStrConst.CD00037_020);
		// ＫＥＹ＿利用場所住所コード
		parentMap.put(KEY_USINGPLACE_ADDRESS_CODE, "");
		// ＫＥＹ＿回線内訳番号
		parentMap.put(KEY_LINE_NUM, keiSvcBean.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10, X31CWebConst.DATABEAN_GET_VALUE));
		// ＫＥＹ＿入力mineo受付番号・電話番号 */
		parentMap.put(KEY_INPUT_MINE_NUM, strMineoSetPlanNo.toString());
		// ＫＥＹ＿入力解除メール通知有無1
		parentMap.put(KEY_KEI_1_MAIL_SEND_FLAG, JFUStrConst.EMPTY);
		// ＫＥＹ＿入力解除メール通知有無2
		parentMap.put(KEY_KEI_2_MAIL_SEND_FLAG, JFUStrConst.EMPTY);
		
		outputMap.put(JFUMINEO_SETPLANR_ENKEI_CC, parentMap);

		return outputMap;
	}

	/**
	 * 下りマッピングをする
	 * @param bean [0]：サービスフォームBean
	 * @param outputMap 設定値格納マップ
	 * @return X31SDataBeanAccess[] サービスフォームBean
	 */
	public X31SDataBeanAccess[] getJFUMineoSetPlanRenkeiCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap)
	{
		return bean;
	}
// ANK-3436-00-00 ADD END

// ANK-3484-00-00 ADD START
	/**
	 * おうちの機器補償サービス登録CCの上りマッピング処理です。
	 *
	 * <br>
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap アウトマップ
	 * @param funcCode 機能コード
	 * @param opeDate 運用日付
	 * @param updDtmBef 更新年月日時分秒（サービス契約）
	 * @return HashMap
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")	
	public HashMap setJKKTmcpOperateCC(X31SDataBeanAccess[] bean, HashMap outputMap, String funcCode, String opeDate)throws Exception
	{
		//Web新規情報
		X31SDataBeanAccess webNewInfobean = getWebInfo(bean[0]);
		//光ネット
		X31SDataBeanAccess netInfobean = getEonet(webNewInfobean);
		
		String netPcpln = netInfobean.sendMessageString(CommonInfoCFConst.KK_COMP_PC_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		String netPcwpln = netInfobean.sendMessageString(CommonInfoCFConst.KK_COMP_PCW_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		
		String netTvpln = netInfobean.sendMessageString(CommonInfoCFConst.KK_COMP_TV_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		


		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap<String, String> childMap = new HashMap<String, String>();
		
		
		// 機能コード
		parentMap.put(FUNC_CODE, funcCode);
		
		// 処理区分
		parentMap.put(SHORI_DIV,SHORI_DIV_2);
						
		// 異動区分
		parentMap.put(IDO_DIV, getIdoKbn(webNewInfobean));
		
		// 申込明細番号
		childMap.put(MSKM_DTL_NO, netInfobean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		
		// 申込年月日
		childMap.put(MKSM_YMD, opeDate);
		
		if (JFUStrConst.PC_PLN_MSKM.equals(netPcpln))
		{
			// PCプランが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put(PC_PLAN_TG_FLG, PLAN_MSKM);
			// PCプラン申込日
			childMap.put(PC_PLAN_MKSM_YMD, opeDate);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put(PC_PLAN_TG_FLG, PLAN_NOT_MSKM);
			childMap.put(PC_PLAN_MKSM_YMD, "");
		}
		
		
		if (JFUStrConst.PCW_PLN_MSKM.equals(netPcwpln))
		{
			// PCワイドプランが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put(PC_PLAN_TG_FLG, PLAN_MSKM);
			// PCプラン申込日
			childMap.put(PC_PLAN_MKSM_YMD, opeDate);
			// PCワイドプランが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put(PC_WIDE_PLAN_TG_FLG, PLAN_MSKM);
			// PCワイドプラン申込日
			childMap.put(PC_WIDE_PLAN_MKSM_YMD, opeDate);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put(PC_WIDE_PLAN_TG_FLG, PLAN_NOT_MSKM);
			childMap.put(PC_WIDE_PLAN_MKSM_YMD, "");
		}
		
		 
		if (JFUStrConst.TV_PLN_MSKM.equals(netTvpln))
		{
			// TVプランが"1"(申し込む)の場合、"1"（有）を設定
			childMap.put(TV_PLAN_TG_FLG, PLAN_MSKM);
			// TVプラン申込日
			childMap.put(TV_PLAN_MKSM_YMD, opeDate);
		}
		else
		{
			// 上記以外の場合、"0"（無）を設定
			childMap.put(TV_PLAN_TG_FLG, PLAN_NOT_MSKM);
			childMap.put(TV_PLAN_MKSM_YMD, "");
		}
		// 登録用情報リスト
		ArrayList addInfoList = new ArrayList();
		addInfoList.add(childMap);
		parentMap.put("add_info_list", addInfoList);
		
		outputMap.put("JKKTmcpOperateCC", parentMap);
		
		return outputMap;
	}
// ANK-3484-00-00 ADD END	

// ANK-3473-00-00 ADD START
	/**
	 * キャンペーンチェックCC上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームBean　[1]：サービスフォームBean
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUGetCampaignListCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		if (bean == null)
		{
			return null;
		}
		if (bean.length != 2)
		{
			return null;
		}
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// パラメータ設定
		// String配列汎用コードの要素数を取得
		Integer hanyoCdLength = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST).getCount();

		// WEB割特別キャンペーンリスト
		String spCampaignDispDefine = JFUWebCommon.getDispText("COMMONSETTING", "WEB_WARI_SP_CAMP_LIST");
		List<String> webWariSpeCmpList = new ArrayList<String>();
		if (spCampaignDispDefine != null)
		{
			webWariSpeCmpList = Arrays.asList(spCampaignDispDefine.split(","));
		}

		X31SDataBeanAccessArray hanyoCdList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST);
		X31SDataBeanAccess hanyoInfoBean = null;

		// 汎用コード、汎用コード区分をマッピング
		for (int i = 0; i < hanyoCdLength; i++)
		{
			hanyoInfoBean = hanyoCdList.getDataBean(i);
			// 汎用コード
			String hanyoCd = hanyoInfoBean.sendMessageString(CommonInfoCFConst.HANYO_CD_46, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUWebCommon.isNull(hanyoCd) && hanyoCd.length() > 0 && !webWariSpeCmpList.contains(hanyoCd))
			{
				// 選択されているキャンペーンコード
				parentMap.put(IN_CAMPAIGN_CD, (String)hanyoInfoBean.sendMessageString(CommonInfoCFConst.HANYO_CD_46, X31CWebConst.DATABEAN_GET_VALUE));
				// 選択されているキャンペーンの種別
				parentMap.put(IN_CAMPAIGN_SBTCD, (String)hanyoInfoBean.sendMessageString(CommonInfoCFConst.HANYO_SBT_CD_46, X31CWebConst.DATABEAN_GET_VALUE));
				break;
			}
		}
		if (parentMap.size() > 0)
		{
			outputMap.put(JFUGETCAMPAIGNLISTCC, parentMap);
		}

		return outputMap;
	}
// ANK-3473-00-00 ADD END

	/**
	 * 住所情報分割CC(現住所)の上りマッピングです。
	 * 
	 * @param bean
	 * @param outputMap
	 * @return outputMap
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016041CC(X31SDataBeanAccess[] bean, HashMap outputMap) throws Exception
	{
		if (bean == null)
		{
			return null;
		}
		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess kshInfoBean = getKeiyakuinfo(webNewInfoBean);

		String mskmKbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		String kshGenAddChangeJk = kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_GENADD_CHANGE_JK_09, X31CWebConst.DATABEAN_GET_VALUE);

		if(!JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) || JFUWebCommon.isNull(kshGenAddChangeJk) || "0".equals(kshGenAddChangeJk))
		{
			// 以下の条件に1つでも一致した場合は実行しない
			// 申込区分が「2：追加」以外
			// ご契約者住所（現住所）の変更状況が未設定、または、「0：変更なし」の場合は処理しない
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 都道府県・市区町村
		parentMap.put("state_city", kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_STATE_ADD_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 字
		parentMap.put("aza", kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_AZA_ADD_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 丁目・番地等
		parentMap.put("chome_bnchi", kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_ADD_09, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV016041CC", parentMap);

		return outputMap;
	}

	/**
	 * 契約状態チェック＆住所変更CCの上りマッピングです。
	 * 
	 * @param bean
	 * @param outputMap
	 * @return outputMap
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016042CC(X31SDataBeanAccess[] bean, HashMap outputMap) throws Exception
	{
		if (bean == null)
		{
			return null;
		}
		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess kshInfoBean = getKeiyakuinfo(webNewInfoBean);

		String mskmKbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		String kshGenAddChangeJk = kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_GENADD_CHANGE_JK_09, X31CWebConst.DATABEAN_GET_VALUE);

		if(!JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) || JFUWebCommon.isNull(kshGenAddChangeJk) || "0".equals(kshGenAddChangeJk))
		{
			// 以下の条件に1つでも一致した場合は実行しない
			// 申込区分が「2：追加」以外
			// ご契約者住所（現住所）の変更状況が未設定、または、「0：変更なし」の場合は処理しない
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 契約サービス情報
		X31SDataBeanAccess keiSvcInfoBean = getKeiyakusvcinfo(webNewInfoBean);
		// ネット情報
		X31SDataBeanAccess netInfoBean = getEonet(webNewInfoBean);
		// 電話情報
		X31SDataBeanAccess[] telInfoBean = getEotel(webNewInfoBean);
		// テレビ情報
		X31SDataBeanAccess tvInfoBean = getEotv(webNewInfoBean);

		// 契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(ネット)
		String selectNet = keiSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(電話)
		String selectTel = keiSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(テレビ)
		String selectTv = keiSvcInfoBean.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);

		// 申込明細番号取得(@ネット、A電話、Bテレビ)
		String mskmDtlNo = JFUStrConst.EMPTY;
		// ネットが選択されていた場合
		if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(selectNet))
		{
			mskmDtlNo = netInfoBean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
		}
		// 電話が選択されていた場合
		else if (JFUStrConst.SELECT_SVC_TEL_CHOICE.equals(selectTel))
		{
			mskmDtlNo = telInfoBean[0].sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_12, X31CWebConst.DATABEAN_GET_VALUE);
		}
		// テレビが選択されていた場合
		else if (JFUStrConst.SELECT_SVC_TV_CHOICE.equals(selectTv))
		{
			mskmDtlNo = tvInfoBean.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_13, X31CWebConst.DATABEAN_GET_VALUE);
		}

		// SYSID
		parentMap.put("in_sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込明細番号
		parentMap.put("in_mskm_dtl_no", mskmDtlNo);
		// 異動区分
		parentMap.put("in_ido_div", getIdoKbn(webNewInfoBean));
		// 契約種別
		parentMap.put("in_keisha_type_cd", keiSbt);

		// 契約者住所補記・建物名
		parentMap.put("in_keisha_adrttm", kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_TTM_ADD_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者住所補記・部屋番号
		parentMap.put("in_keisha_adrrm", kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_RRM_ADD_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約者電話番号
		String telNo1 = kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO1_ADD_09, X31CWebConst.DATABEAN_GET_VALUE);
		String telNo2 = kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO2_ADD_09, X31CWebConst.DATABEAN_GET_VALUE);
		String telNo3 = kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_TELNO3_ADD_09, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("in_keisha_telno", telNo1 + telNo2 + telNo3);

		// 契約者都道府県名・市区町村名(変更前)
		parentMap.put("in_keisha_state_city_bf", kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_STATE_BF_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者字(変更前)
		parentMap.put("in_keisha_aza_bf", kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_AZA_BF_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者丁目・番地号(変更前)
		parentMap.put("in_keisha_chome_bnchigo_bf", kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_BF_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者住所補記・建物名(変更前)
		parentMap.put("in_keisha_adrttm_bf", kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_TTM_BF_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者住所補記・部屋番号(変更前)
		parentMap.put("in_keisha_adrrm_bf", kshInfoBean.sendMessageString(CommonInfoCFConst.KSH_RRM_BF_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 住所分割取得先ID
		parentMap.put("in_get_address_id", "FUSV016041CC");

		outputMap.put("FUSV016042CC", parentMap);

		return outputMap;
	}

	/**
	 * 紹介一意照会の上りマッピングをする(FUSV016044SC)
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @return outputMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setFUSV016044SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
			throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// リダイレクト情報
		X31SDataBeanAccess redirectInfo = getRedirectinfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// リダイレクト情報.紹介者コード → 紹介一意照会.紹介コード
		parentMap.put("key_intr_cd", redirectInfo.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE));

		ArrayList arrayList = new ArrayList<HashMap>();
		HashMap detailMap = new HashMap();
		arrayList.add(detailMap);
		parentMap.put("EKK0311A010CBSMsg1List", arrayList);

		outputMap.put("EKK0311A010", parentMap);

		return outputMap;

	}

	/**
	 * 紹介更新の上りマッピングをする(FUSV016043SC)
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @return outputMap
	 * @throws Exception
	 */
	public HashMap<String, Object> setFUSV016043SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
			throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(web_new_infobean);
		// 契約者情報
		X31SDataBeanAccess contract_infobean = getKeiyakuinfo(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);

		// リダイレクト情報.紹介者コード → 紹介更新.紹介コード
		parentMap.put("intr_cd", bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約者情報.氏名（姓）・氏名（名） → 紹介更新.被紹介者名
		parentMap.put("hishokai_nm", getKshnm(web_new_infobean, contract_infobean));

		// 契約者情報.個人メールアドレス → 紹介更新.被紹介者連絡先メールアドレス
		parentMap.put("hishokai_rrks_mlad", contract_infobean.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0311C010", parentMap);

		return outputMap;
	}

	/**
	 * auショップ以外の量販の申込断面コメント
	 * 
	 * <br>
	 * @param bean
	 * @return 申込断面コメント
	 */
	private String getRyohanMskmDmenComment(X31SDataBeanAccess[] bean)
	{
		StringBuffer rrkJikoComment = new StringBuffer();
		// 連絡事項２（曜日）
		String rrkJiko2Dow = bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_2_DOW, X31CWebConst.DATABEAN_GET_VALUE);
		boolean rrkJiko2DowFlg = false;
		if (RRK_JIKO_2_DOW_HEIJITU.equals(rrkJiko2Dow))
		{
			rrkJikoComment.append(MDC_RRK_JIKO_2);
			rrkJikoComment.append(MDC_HEIJITU);
			rrkJiko2DowFlg = true;
		}
		else if (RRK_JIKO_2_DOW_DONICHI.equals(rrkJiko2Dow))
		{
			rrkJikoComment.append(MDC_RRK_JIKO_2);
			rrkJikoComment.append(MDC_DONICHI);
			rrkJiko2DowFlg = true;
		}

		// 連絡事項２（時間）
		String rrkJiko2Kbtmz = bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_2_KBTMZ, X31CWebConst.DATABEAN_GET_VALUE);
		if (rrkJiko2DowFlg)
		{
			if (RRK_JIKO_2_KBTMZ_AM.equals(rrkJiko2Kbtmz))
			{
				rrkJikoComment.append(JFUStrConst.SLASH);
				rrkJikoComment.append(MDC_AM);
			}
			else if (RRK_JIKO_2_KBTMZ_PM.equals(rrkJiko2Kbtmz))
			{
				rrkJikoComment.append(JFUStrConst.SLASH);
				rrkJikoComment.append(MDC_PM);
			}
			rrkJikoComment.append(JFUStrConst.SPACE);
		}
		else
		{
			if (RRK_JIKO_2_KBTMZ_AM.equals(rrkJiko2Kbtmz))
			{
				rrkJikoComment.append(MDC_RRK_JIKO_2);
				rrkJikoComment.append(MDC_AM);
				rrkJikoComment.append(JFUStrConst.SPACE);
			}
			else if (RRK_JIKO_2_KBTMZ_PM.equals(rrkJiko2Kbtmz))
			{
				rrkJikoComment.append(MDC_RRK_JIKO_2);
				rrkJikoComment.append(MDC_PM);
				rrkJikoComment.append(JFUStrConst.SPACE);
			}
		}
		// 連絡事項９
		String rrkJiko9 = bean[1].sendMessageString(FUW00943SFConst.RRK_JIKO_9, X31CWebConst.DATABEAN_GET_VALUE);
		if (!JFUWebCommon.isNull(rrkJiko9))
		{
			// 適用コード
			rrkJikoComment.append(MDC_RRK_JIKO_9);
			rrkJikoComment.append(rrkJiko9);
		}
		return rrkJikoComment.toString();
	}

	/**
	 * 申込明細内容変更CC上りマッピング<br>
	 * 「量販・訪販」かつ「eo光電話パック申込」の場合のみ処理を行う。
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap 設定先マップ
	 * @param func_code　機能コード
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUMskmDtlUpdCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);

		// 販売タイプ
		String hanbaiType = bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 契約サービス情報
		X31SDataBeanAccess keiSvcInfo = getKeiyakusvcinfo(bnWebinfo);
		X31SDataBeanAccessArray keyakusya_info = bnWebinfo.getDataBeanArray(CommonInfoCFConst.KEIYAKUSHA_INFO);
		X31SDataBeanAccess keiyakushaInfoBean = keyakusya_info.getDataBean(0);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード
		parentMap.put("func_code", func_code);
		// SYSID
		parentMap.put(IN_SYSID, bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込書番号（受付番号）
		parentMap.put(IN_MSKMSHO_NO, keiSvcInfo.sendMessageString(CommonInfoCFConst.MSKMSHO_NO_10, X31CWebConst.DATABEAN_GET_VALUE));

		if (JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType) || JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbaiType))
		{
		// 本人確認書類選択
		String honninSelect = JFUStrConst.EMPTY;
		// 本人確認書類詳細
		String honninDetail = JFUStrConst.EMPTY;
		if (JFUWebCommon.isNeedVerifyPerson(bnWebinfo))
		{
			// 転送電話サービス、転送電話サービスを含むパック申込なし
			honninSelect = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HONNIN_SELECT_09, X31CWebConst.DATABEAN_GET_VALUE);
			honninDetail = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HONNIN_DETAIL_09, X31CWebConst.DATABEAN_GET_VALUE);
		}
		// 本人確認書類種別コード 
		parentMap.put(IN_HNIN_CFM_ATICLE_SBT_CD, honninSelect);
		// 本人確認書類名
		parentMap.put(IN_HNIN_CFM_ATICLE_NM, honninDetail);

		// その他サービス情報
		X31SDataBeanAccess elseInfo = getElseInfo(bnWebinfo);

		// 早期開通早期連絡希望有無
		parentMap.put(IN_TSYRN_EARLY_OPEN_EARLY_RRK_KBUM_SCREEN, 
				elseInfo.sendMessageString(CommonInfoCFConst.TSYRN_EARLY_OPEN_EARLY_RRK_KBUM_SCREEN_18, X31CWebConst.DATABEAN_GET_VALUE));

		}
		// 新規申込時のみ電子交付同意済みフラグを設定。
		String mskmKbn = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		String dnskhDoiUmFlg = JFUStrConst.EMPTY;
		if (JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn))
		{
			dnskhDoiUmFlg = bnWebinfo.sendMessageString(CommonInfoCFConst.DNSKH_DOI_UM_SCREEN_06, X31CWebConst.DATABEAN_GET_VALUE);
		}
		parentMap.put(IN_DNSKH_DOI_UM, dnskhDoiUmFlg);
		
		outputMap.put("JFUMskmDtlUpdCC", parentMap);

		return outputMap;
	}

	/**
	 * 固定文言連携用の上りマッピング<br>
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap 設定先マップ
	 * @param func_code　機能コード
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setWorkStrConstMap(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess net_infobean = getEonet(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 申込断面用 ： [通信機器レンタルサービス]
		String netOpKktksvcDmnCode = net_infobean.sendMessageString(CommonInfoCFConst.NET_OP_KKTKSVC_CODE_11, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put(NET_OP_KKTKSVC_DMEN_MNGN, netOpKktksvcDmnCode);
		outputMap.put(WORK_STRCONST_MAP, parentMap);
		return outputMap;
	}
	
	/**
	 * EFU0361B010_WEB申込情報一覧照会 上がりマッピング
	 * 
	 * @param bean
	 * @param outputMap
	 * @return
	 */
	public HashMap<String, Object> setFUSV016045SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess keiyakuinfoBean = getKeiyakuinfo(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, "2");

		// ＫＥＹ＿識別キー
		parentMap.put("key_skbt_key", keiyakuinfoBean.sendMessageString(CommonInfoCFConst.SKBT_KEY_09, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV016045SC", parentMap);

		return outputMap;
	}

	/**
	 * EFU0361B010_WEB申込情報一覧照会 下りマッピング
	 * 
	 * @param bean
	 * @param outputMap
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess getFUSV016045SC(X31SDataBeanAccess bean, HashMap<String, Object> outputMap)
	{
		if (bean == null)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean);
		// 契約者情報
		X31SDataBeanAccess keiyakuinfoBean = getKeiyakuinfo(web_new_infobean);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		if (outputMap.containsKey("FUSV016045SC"))
		{
			parentMap = (HashMap)outputMap.get("FUSV016045SC");
		}

		if (parentMap != null && parentMap.size() > 0 && parentMap.containsKey("EFU0361B010CBSMsg1List"))
		{
			// 検索結果全件取得
			ArrayList childList = (ArrayList)parentMap.get("EFU0361B010CBSMsg1List");
			if(childList == null || childList.size() == 0)
			{
				// 結果が存在しない場合、処理を終了する
				return bean;
			}

			// 検索結果の0番目を取得
			HashMap childMap = (HashMap)childList.get(0);
			if(childMap == null || childMap.size() == 0)
			{
				// 結果が存在しない場合、処理を終了する
				return bean;
			}
			
			String mlad = JFUStrConst.EMPTY;
			if(childMap.containsKey("mlad") && !JFUWebCommon.isNull((String)childMap.get("mlad")))
			{
				mlad = (String)childMap.get("mlad");
			}
			if (!JFUStrConst.EMPTY.equals(mlad))
			{
				keiyakuinfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_SET_VALUE, mlad);
				keiyakuinfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_SET_VALUE, mlad);
			}
		}
		return bean;
	}
	
	/**
	 * eoID入力情報登録CC 上がりマッピング
	 * 
	 * @param bean
	 * @param outputMap
	 * @return
	 */
	public HashMap<String, Object> setJFUEoidInputInfoAddCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess keiyakuinfoBean = getKeiyakuinfo(web_new_infobean);
		// 契約サービス情報
		X31SDataBeanAccessArray keiyaku_svc_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);
		X31SDataBeanAccess keiyaku_svc_infobean = keiyaku_svc_info.getDataBean(0);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		String mlad = JFUStrConst.EMPTY;
		if (JFUStrConst.CD00036_1.equals(web_new_infobean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 契約種別が個人の場合
			mlad = keiyakuinfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else
		{
			// 契約種別が法人の場合
			mlad = keiyakuinfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}
		
		// 販売タイプ
		String hanbaiType = web_new_infobean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put(FUNC_CODE, func_code);
		parentMap.put("mode", "1");
		if (JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType) || JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbaiType))
		{
			parentMap.put("skbt_key", keiyakuinfoBean.sendMessageString(CommonInfoCFConst.SKBT_KEY_09, X31CWebConst.DATABEAN_GET_VALUE));
// ANK-4598-00-00 ADD START （識別キーは設定されていない想定）
			parentMap.put("hanbaiType", hanbaiType);
			parentMap.put("sys_id", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
			parentMap.put("mskm_no", keiyaku_svc_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));
// ANK-4598-00-00 ADD END
		} else {
			String social_id_sbt = keiyakuinfoBean.sendMessageString(CommonInfoCFConst.SOCIAL_ID_SBT_09, X31CWebConst.DATABEAN_GET_VALUE);
			parentMap.put("social_id_sbt", social_id_sbt);
			parentMap.put("sys_id", web_new_infobean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
			parentMap.put("mskm_no", keiyaku_svc_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE));
			if ("0".equals(social_id_sbt))
			{
				parentMap.put("eoid", keiyakuinfoBean.sendMessageString(CommonInfoCFConst.EOID_09, X31CWebConst.DATABEAN_GET_VALUE));
				parentMap.put("eoid_pwd", keiyakuinfoBean.sendMessageString(CommonInfoCFConst.EOID_PWD_09, X31CWebConst.DATABEAN_GET_VALUE));
				parentMap.put("social_id", "");
			} else {
				parentMap.put("social_id", keiyakuinfoBean.sendMessageString(CommonInfoCFConst.SOCIAL_ID_09, X31CWebConst.DATABEAN_GET_VALUE));
				parentMap.put("eoid", "");
				parentMap.put("eoid_pwd", "");
			}
			parentMap.put("mlad", mlad);
			// 認証レベル "2"(2段階認証) 固定
			parentMap.put("authentication_level", "2");
			// ワンタイムキー送付先優先区分ル "1"(メール)" 固定
			parentMap.put("onetimekey_destination", "1");
		}
		
		outputMap.put("JFUEoidInputInfoAddCC", parentMap);

		return outputMap;
	}

	/**
	 * EKK3291D010_コンテンツ申込情報登録 上がりマッピング
	 * 
	 * @param bean
	 * @param outputMap
	 * @return
	 */
	public HashMap<String, Object> setFUSV016046SC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// コンテンツ情報
		X31SDataBeanAccessArray contentsList = web_new_infobean.getDataBeanArray(CommonInfoCFConst.CONT_SVC_INFO);
		// 契約サービス情報
		X31SDataBeanAccessArray keiyaku_svc_info = web_new_infobean.getDataBeanArray(CommonInfoCFConst.KEIYAKU_SVC_INFO);
		X31SDataBeanAccess keiyaku_svc_infobean = keiyaku_svc_info.getDataBean(0);
		
		String mskm_no = keiyaku_svc_infobean.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE);
		
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, func_code);
		ArrayList list = new ArrayList();
		if (contentsList != null && contentsList.getCount() > 0)
		{
			for (int i = 0; i < contentsList.getCount(); i++)
			{
				X31SDataBeanAccess contentsBean = contentsList.getDataBean(i);
				if (contentsBean.sendMessageBoolean(CommonInfoCFConst.CONT_SVC_MSKM_CHOICE_67, X31CWebConst.DATABEAN_GET_VALUE))
				{
					Map<String, Object> childMap = new HashMap<String, Object>();
					childMap.put(FUNC_CODE, func_code);
					childMap.put("mskm_no", mskm_no);
					childMap.put("cont_svc_cd", contentsBean.sendMessageString(CommonInfoCFConst.CONT_SVC_CD_67, X31CWebConst.DATABEAN_GET_VALUE));
					childMap.put("cont_mkm_inf_stcd", "01");
					list.add(childMap);
				}
			}
		}
		if (list.size() > 0)
		{
			parentMap.put("FUSV016046SCList", list);
			outputMap.put("FUSV016046SC", parentMap);
		}

		return outputMap;
	}

	/**
	 * クレジットカード会社一覧照会の上りマッピングをする
	 * @param bean　[0]：お支払い方法入力　[1]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV016047SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// クレジットカード事業コード → クレジット会社一覧照会マップ.ＫＥＹ＿クレジットカード事業コード
		parentMap.put("key_crecard_jigyo_cd", JFUStrConst.CD00420_2);

		outputMap.put("FUSV016047SC", parentMap);

		return outputMap;
	}

	/**
	 * ＨＧＷ機器有無を判定する
	 *
	 * @param webNewInfoBean
	 * @return　ＨＧＷ機器有無
	 */
	private boolean existHgw(X31SDataBeanAccess webNewInfoBean)
	{
		// WEB新規情報-回線機器情報
		X31SDataBeanAccessArray kaisenKikiInfoArray = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.KAISEN_KIKI_INFO);

		if (kaisenKikiInfoArray != null)
		{
			for (int i = 0; i < kaisenKikiInfoArray.getCount(); i++)
			{
				X31SDataBeanAccess kaisenKikiInfoBean = kaisenKikiInfoArray.getDataBean(i);
				String kktkSvcCd = kaisenKikiInfoBean.sendMessageString(CommonInfoCFConst.KKTK_SVC_CD_60, X31CWebConst.DATABEAN_GET_VALUE);
				if (JFUStrConst.CD00132_C025.equals(kktkSvcCd))
				{
					return true;
				}
			}
		}
		return false;
	}

	/**
	 * 電話番号マスタ変更CCの上りマッピング処理です。
	 *
	 * <br>
	 * @param bean データBean配列
	 * @param outputMap アウトマップ
	 * @param func_code 機能コード
	 * @return 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setJFUMstTelNoUpdCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 番号ポータビリティの電話設定
		ArrayList<HashMap<String, Object>> telNoList = setBmpTelMap(bean, func_code);
		if (telNoList == null || telNoList.size() == 0)
		{
			return outputMap;
		}
		// リストに設定
		parentMap.put("tel_no_list", telNoList);

		// 機能コード
		parentMap.put(FUNC_CODE, func_code);

		// 返却マップに設定
		outputMap.put("JFUMstTelNoUpdCC", parentMap);

		return outputMap;
	}

}