/*********************************************************************
 *	All Rights reserved,Copyright (c) K-Opticom
 **********************************************************************
 *＜プログラム内容＞
 *	システム名		：eo顧客基幹システム
 *	モジュール名	：FUSV0152_FUSV0152OPDBMapper
 *	ソースファイル名：FUSV0152_FUSV0152OPDBMapper.java
 *	作成者			：FJ
 *	日付			：2011年06月21日
 *＜機能概要＞
 *	BP（入力内容確認（新規）登録）へのＤ−Ｂマッピングクラスです。
 *＜修正履歴＞
 *	バージョン	修正日		修正者		修正内容
 *	v1.00.00	2011/06/21	FJ			新規作成
 *	v1.00   	2011/09/27	FJ			機器提供サービス.配送区分追加
 *	v3.00   	2012/03/30	FJ）北島   【ANK-0047-00-00】 通話料上限通知オプション対応
 *	v3.00   	2012/03/30	FJ）北島   【ANK-0049-00-00】 光ハイブリッド対応
 *	v3.00   	2012/03/30	FJ）北島   【ANK-0050-00-00】 FTTH従量制課金(STEP1)対応
 *	v3.00   	2012/04/02	FJ）北島   【ANK-0216-00-00】 サンキューメールへの契約状況表示対応
 *	v3.00   	2012/04/13	FJ）福島   【ANK-0049-00-00】 光ハイブリッド機器対応
 *	v3.00   	2012/04/24	FJ）楠山   【ANK-0037-01-00】 紹介CP申込期間制御対応
 *	v4.00   	2012/09/18	FJ）池田   【ANK-1162-00-00】サービス〜プランの保持体系変更
 *	v4.00   	2012/09/27	FJ）大塚   【ANK-0493-00-00】取扱コード対応
 *	v4.00   	2012/09/29	FJ）齋藤   【ANK-0390-00-00】Web代行入力その他キャンペーン連携対応
 *	v4.00   	2012/10/05	FJ）岩元   【IT1-2012-0001111】42Mハイブリッド申込不可障害対応
 *	v4.00   	2012/10/12	FJ）齋藤   【ANK-1223-00-00】進捗補足事項編集対応
 *	v4.00   	2012/10/16	FJ）岩元   【IT1-2012-0001150 仮申込フラグへのマッピング追加
 *	v4.00   	2012/10/19	FJ）馬場   【IT1-2012-0001295 長割申込時のパラメータ追加他
 *	v4.00   	2012/10/23	FJ）齋藤   【IT1-2012-0001114】一時金設定登録障害対応
 *	v4.00   	2012/10/26	FJ）岩元   【IT1-2012-0001544】契約者住所上書き障害対応
 *	v4.00   	2012/10/29	FJ）山下   【ANK-1199-00-00】自動採番対応
 *	v4.00   	2012/10/27	FJ）齋藤   【IT1-2012-0001106】NULL対応
 *	v4.00   	2012/10/27	FJ）齋藤   【IT1-2012-0001107】NULL対応【宅内調査希望時間帯コード、申込実施者種別コード、宅内調査希望日種別コード、電話連絡希望日種別コード、電話連絡希望時間帯コード】
 *	v4.00   	2012/10/27	FJ）齋藤   【IT1-2012-0001108】マッピング値変更対応【契約者住所手動入力フラグ】
 *	v4.00   	2012/10/29	FJ）齋藤   【IT1-2012-0001110】NULL対応
 *	v4.00   	2012/10/29	FJ）齋藤   【IT1-2012-0001116】NULL対応
 *	v4.00   	2012/10/29	FJ）齋藤   【IT1-2012-0001077】NULL対応
 *	v4.00   	2012/10/29	FJ）齋藤   【IT1-2012-0001079】NULL対応
 *	v4.00   	2012/10/29	FJ）齋藤   【IT1-2012-0001120】マッピング追加対応【リンクSTBフラグ】
 *	v4.00   	2012/10/29	FJ）齋藤   【IT1-2012-0001620】マッピング値変更対応【提供帯域コード】
 *	v4.00   	2012/10/29	FJ）齋藤   【IT1-2012-0001131】NULL対応
 *	v4.00   	2012/10/29	FJ）齋藤   【IT1-2012-0001132】NULL対応【支払い方法継続フラグ】
 *	v4.00   	2012/10/29	FJ）齋藤   【IT1-2012-0001249】NULL対応【PON種別コード】
 *	v4.00   	2012/10/29	FJ）齋藤   【IT1-2012-0001086】NULL対応【申込経路識別コード】
 *	v4.00   	2012/10/29	FJ）齋藤   【IT1-2012-0001582】マッピング値追加対応【回線場所区画整理中フラグ】
 *	v4.00   	2012/11/03	FJ）岩元   【IT1-2012-0001846】モバイル追加の請求引継ぎ障害対応
 *	v4.00   	2012/11/06	FJ）齋藤   【IT1-2012-0001983】サービス契約<eo光ネット>登録相関ルール障害対応
 *	v4.00   	2012/11/06	FJ）山下   【IT1-2012-0001783】モデル整合性対応【機器設置先カナ名】
 *	v4.00   	2012/11/06	FJ）齋藤   【IT1-2012-0001784】モデル整合性対応【機器設置先名】
 *	v4.00   	2012/11/06	FJ）齋藤   【IT1-2012-0001122】モデル整合性対応【請求契約.契約締結年月日】
 *	v4.00   	2012/11/09	FJ）大塚   【IT1-2012-0001699】モデル整合性対応【機器引当指定倉庫棚コード】
 *	v4.00   	2012/11/12	FJ）楠本   【IT2-2012-0001669】送付先名法人表示対応【請求契約.送付先カナ名、請求契約.送付先名】
 *  v4.00       2012/11/13  FJ）岩元   【IT2-2012-0001695】WiFi即時開通対応
 *  v4.00   	2012/11/15  FJ）橋本   【IT1-2012-0002045】マッピング値追加対応【本人確認書類種別コード】
 *  v4.00   	2012/11/15  FJ）岩元   【ST2-2012-0001752】ロット1障害取込 KCN
 *  v4.00   	2012/11/19  FJ）橋本   【IT2-2012-0001716】マッピング値追加対応【請求書送付先住所変更有無】
 *  v4.00   	2012/11/21  FJ）橋本   【IT2-2012-0001737】モデル整合性対応【サービス契約内訳提供方式契約番号】
 *	v4.00   	2012/11/28	FJ）齋藤   【IT2-2012-0001841】追加申込時課金先登録障害
 *  v4.00   	2012/11/28  FJ）楠本   【IT1-2012-0002234】STB 宅内機器型式コード登録値変更
 *  v4.00   	2012/12/05  FJ）齋藤   【ST1-2012-0001029】マッピング値追加対応【宅内機器異動コード】（B-CAS/C-CAS機器分）
 *  v4.00   	2012/12/05  FJ）楠本   【IT1-2012-0002076】マッピング値追加対応【請求契約カナ名_お客様カナ名差異フラグ】
 *  v4.00   	2012/12/20  FJ）長沢   【TAI-2012-0000136-146】eo光ネット（or eo光電話）既契約時のONUレコード重複対応
 *  v4.00       2012/12/25  FJ）大村   「IT2-2012-0002142」サービス開始希望年月日設定値変更
 *  v4.00   	2012/12/27	FJ）岩元   【TAI-2012-0000136】ハイブリッド抜け落ち対応
 *  v4.00   	2012/12/28	FJ）岩元   【TAI-2012-0000136】テレビ単独提供マンション回線コード未設定対応
 *  v4.00   	2012/12/28	FJ）岩元   【TAI-2012-0000136】申込画面入力支援ワーク登録
 *  v4.00       2012/12/29  FJ）楠本   本人確認書類選択の取得元をその他情報から契約者情報に変更
 *  v4.00   	2012/12/28	FJ）岩元   【TAI-2012-0000136】マンションオーナーＩＤの設定条件変更
 *  v4.00   	2012/12/29	FJ）岩元   【TAI-2012-0000136】契約新規連携項目不備対応
 *  v4.00   	2012/12/29	FJ）齋藤   【TAI-2012-0000136-233】申込画面入力支援ワーク．追加元サービス契約番号登録障害対応
 *  v4.00   	2013/01/13	FJ）大塚   【ST2-2013-0000057】光ハイブリッド時のオプションサービスレコード未作成対応
 *  v4.00   	2013/01/20	FJ）大村   【TAI-2013-0000007】クレードル宅内型式種別コード修正
 *  v4.00       2013/01/23	FJ）齋藤   【障害対応 No.87】 低価格マンション料金確認用番号削除対応
 *  v4.00   	2013/01/23	FJ）岩元   【障害対応 No.78】追加申込時のセット割対応
 *  v4.00       2013/01/24	FJ）山下   【障害対応 No.172】 容量取得対応
 *  v4.00       2013/01/28  FJ）岩元   【障害対応 No.47】連絡先名称抜け落ち対応
 *  v4.00       2013/01/29  FJ）大塚   データ検証対応
 *	v4.00   	2013/02/14	FJ）齋藤   【KT1-2013-0000162】出荷指図時の付加情報の設定不備
 *  v4.00       2013/02/20  FJ）齋藤   【IT1-2013-0000300】担当者ログインチェック障害
 *	v4.00   	2013/02/19	FJ）楠本   モバイル契約上限数対応
 *	v4.00   	2013/02/21	FJ）藤原   WEB割適用対応
 *	v4.00   	2013/02/21	FJ）大塚   【障害対応 No244】 ハイブリッド引継ぎ対応
 *	v4.00   	2013/02/22	FJ）藤原   データ検証対応
 *	v4.00   	2013/02/23	FJ）玉井   【ANK-1399-00-00】フロントＳ文言確認修正対応
 *	v4.00   	2013/02/23	FJ）玉井   【ANK-1402-00-00】法人お客様対応
 *	v4.00   	2013/02/23	FJ）玉井   【IT1-2013-0000324】
 *	v4.00   	2013/02/28	FJ）大塚   【No366】契約回線内訳モバイル住所対応
 *	v4.00   	2013/03/06	FJ）藤原   データ検証対応
 *	v4.00   	2013/03/07	FJ）藤原   【No.409】本人確認書類設定値変更対応
 *	v4.00   	2013/03/08	FJ）藤原   【IT1-2013-0000384】VAポート型番変更対応
 *	v4.00   	2013/03/12	FJ）楠本   【IT1-2013-0000425】連絡先種別コード変更対応
 *	v4.00   	2013/03/18	FJ）藤原   【No.414】マンション電話事務手数料対応
 *	v4.00   	2013/03/27	FJ）藤原   【No.544】自動適用CCモバイル単独適用対応
 *	v5.00       2013/04/03  FJ）大村   【IT1-2013-0000715】ＶＤＳＬマンションの場合、ネット非申込時にモデムレンタル機器が必要
 *	v5.00       2013/04/03  FJ）大村   No.614_サービス契約回線内訳の回線場所電話番号不正
 *	v5.00       2013/04/03  FJ）大村   No.624 設定値を契約新規に合わせる
 *	v5.00   	2013/04/05	FJ）大村   【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応
 *	v5.00   	2013/04/05	FJ）岡井   【内部障害】緊急通報先住所補記・建物名、緊急通報先住所補記・部屋番号対応
 *	v5.00   	2013/04/16	FJ）大村   【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応
 *  v5.00       2013/06/12  FJ）岡井   【内部障害】進捗登録.異動年月日時分秒にシステム日付を設定するように修正
 *  v5.00       2013/06/07  FJ）瀧澤   【ANK-1528-00-00】お客様個人情報の機種依存文字対応(連絡先スキーマのメールアドレス更新処理を変更)
 *  v5.00       2013/06/10  FJ）知識   【ANK-1534-00-00】eoモバイル42Mエリア縮小対応
 *  v5.00       2013/06/27  FJ）知識   請求契約カナ名対応
 *  v5.00       2013/07/04  FJ）瀧澤   【ANK-1548-00-00】紹介者キャンペーンは割引サービス契約に登録を行わない様にマッピングを削除
 *  v5.00       2013/07/13  FJ）瀧澤   【IT1-2013-0001371】メール宛先修正
 *  v5.00       2013/07/18  FJ）瀧澤   【IT2-2013-0000641】番ポキャンセル時に緊急連絡先を引き継げない障害に対応
 *  v5.00       2013/08/07  FJ）文元   【IT1-2013-0001522】マンション申し込みの場合、申込明細の契約付加、機器提供サービス契約の宅内機器型式コードに値を設定するよう対応
 *  v5.00       2013/08/31  FJ）文元   【OM-2013-0001377】サービス契約回線内訳のX座標、Y座標設定元を変更
 *  v5.00       2013/10/18  FJ）谷本   【OM-2013-0003440】白ロム申込をデータ抽出項目設定からする対応
 *  v7.00       2013/12/09  FJ）川瀬   【ANK-1578-00-00】多機能ルーター(機器追加)
 *  v7.00       2014/01/27  FJ）中谷   【OM-2014-0000310】メール送信登録の別トランザクション対応
 *  v8.00       2014/01/10  FJ）大島   【ANK-1796-00-00】STB提供メニュー拡充(機器追加・価格改定)A
 *  v8.00       2014/03/14  FJ）西山   【ANK-1962-00-00】関電CRMに向けた取り組み対応
 *  v8.00       2014/04/13  FJ）文元   【ANK-1997-00-00】【ＮＯ．１３８３】商品券CPの新設(カカクコム、関電CSフォーラム)対応
 *  v9.00       2014/08/14  FJ）中谷   【OM-2014-0002698】戻るボタン押下時の申込断面の登録内容
 *  v10.00      2014/07/09  FJ) 清水   【ANK-2135-00-00】BSオプションチャンネル「スターチャンネル」とのセット割検討
 *  v10.00      2014/07/30  FJ) 川瀬   【ANK-2137-00-00】提携住宅会社用WEB受付画面配置
 *  v12.00      2014/10/14  FJ) 模     【ANK-2309-00-00】 全販売チャンネル同番移転対応
 *  v11.00.00   2014/10/22  FJ) 清水   【OM-2014-0003261】モバイル単独の時連絡先スキーマがある場合、連絡先スキーマ（メールアドレス以外）を登録しないよう修正
 *  v25.00.00   2016/04/01  FJ) 張本   【ANK-2530-00-00】ＴＶ新コースおよびＶＯＤ導入
 *  v29.00.00   2016/11/01  FJ) 張本   【ANK-2990-00-00】新電力対応Step2
 *  v32.00.00   2017/06/07  FJ) 西川   【ANK-3100-00-00】スマートコンパクト受付対応
 *  v33.00      2017/07/11  FJ) 岡井   【OM-2017-0000393】全戸一括の子のお客様でマンションオーナーIDを設定しない
 *  v34.00      2017/09/15  FJ) 張本   【ANK-3210-00-00】電気単独対応
 *  v35.00      2017/10/13  FJ) 岡井   【ANK-3225-00-00】未成年mineoマスタユーザのeo申込について
 *  v34.01      2017/12/11  FJ) 張本   【ANK-3210-18-00】価格コム（電気）対応
 *  v36.00.00   2017/01/30  FJ) 杉本   【ANK-3296-00-00】標準工事費分割請求
 *  v36.00.01	2017/02/05	FJ) 杉本   【IT1-2018-0000012】サービス追加時に工事費割賦登録への不具合を対応
 *  v39.00      2018/09/12  FJ) 岡井   【ANK-3488-00-00】4KSTB（ACASチップ）導入対応
 *  v40.00      2018/09/07  FJ）張本   【ANK-3412-00-00】５ギガ・１０ギガコース導入対応
 *  v39.00.01   2018/11/08  FJ) 王     【ANK-3518-00-00】量販サービス追加
 *  v39.0.0     2018/11/16  FJ) 大島   【ANK-3473-00-00】選択性CPシステム改修
 *  v39.00      2018/11/30  FJ) 岡井   【ANK-3477-00-00】eoマイページからのお客さま情報変更自動反映
 *  v40.00.00   2019/01/09  FJ) 西川   【ANK-3412-03-00】５ギガ・１０ギガコース導入対応(特約プログラム対応)
 *  v41.00.00   2019/03/27  FJ) 河邊   【OM-2019-0000042】フロント投入時支払申込書到着設定不備
 *  v47.0.0     2019/06/28  FJ) 大島   【ANK-3636-00-00】消費増税対応（8%⇒10%）
 *  v45.00      2019/07/01	FJ) 張本   【ANK-3665-00-00】携帯電話番号の取得率向上対応
 *  v45.01      2019/09/01	FJ) 張本   【ANK-3665-03-00】【携帯電話番号の取得率向上対応】マンションタイプでの聞取り項目変更
 *  v51.00      2020/09/02	FJ) 岡井   【ANK-3885-00-00】光化マンションの自動設計対応
 *  v51.00      2020/10/14	FJ) 岡井   【ANK-3921-00-00】請求書発行要否のデフォルト値変更
 *  v51.02      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）
 *  v52.02      2021/03/02  FJ）美濃原 【ANK-3991-00-00】STB新機種追加(2021年4月〜)
 *  v53.00      2020/04/13  GDC) ミコ  【ANK-3951-00-00】「競争ルールの検証に関するWG」に関するシステム対応
 *  v53.01      2021/05/28  FJ）張本   【ANK-4065-00-00】価格com経由申込の選択制キャンペーン表示変更
 *  v53.02      2021/05/31  FJ）西川   【IT1-2021-0000039】ANK-4009-00-00_CX戦略WG方針対応
 *  v54.00      2021/08/20	FJ)新谷    【ANK-4096-00-00】宅調宅工同時実施のための聞取り強化対応
 *  v56.00      2021/12/06  FJ）美濃原 【ANK-4103-00-00】マンション光コンセントタイプのWeb受付対応
 *  v56.01.00   2022/01/04  FJ）西川   【ANK-4018-00-00】【eo定期】5G・10Gコースの料金改訂対応
 *  v57.00      2022/02/09  FJ) 美濃原 【ANK-4088-00-00】宅内調査の日程調整業務における省人化施策(Step2)
 *  v60.00      2022/06/20  FJ）美濃原 【ANK-4244-00-00】【eo定期】MT既設賃貸対応
 *  v60.00.01   2022/09/01  FJ) 西川   【ANK-4319-00-00】202210月CP対応
 *  v63.0.0     2023/12/20	FJ) 行武   【OM-2021-0001630】法人の新規申込時にFAX番号の登録不備
 *  v61.00      2023/04/20  FJ) 張本   【ANK-4315-00-00】【eo定期】eo光ホームゲートウェイ導入対応
 *  v72.00      2024/05/08  FJ) 美濃原 【ANK-4494-00-00】【eo定期】双方向番ポ対応
 *  v73.00      2024/11/14  FJ) 飯田   【ANK-4427-00-00】NTT卸対応
 *  v73.00      2024/11/15  FJ) 張本   【ANK-4493-00-00】【eo定期】光配線マンションのコースアップ対応
 *  v73.01      2024/12/16  FJ) 飯田   【ANK-4427-00-00】NTT卸対応
 *  v73.02      2025/01/18  FJ) 浅井   【ANK-4427-35-00】NTT卸対応【仕変35】フロント（量販・訪販）申込時に、旧長割の自動付与抑制
 *  v74.00      2025/01/16  FJ) 余野木 【ANK-4592-00-00】テレビ新コース（スカパー用）導入対応
 **********************************************************************/
package eo.web.webview.mapping;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.web.x00.JCCBusinessException;
import com.fujitsu.futurity.web.x31.X31BWebBusinessLogic;
import com.fujitsu.futurity.web.x31.X31CWebConst;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccess;
import com.fujitsu.futurity.web.x31.X31SDataBeanAccessArray;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JFUCommonUtil;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JFUMskmFinMail;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;

/**
 * FUSV0152_Dataマッピングロジック <br>
 * 
 * @author 富士通
 */
public class FUSV0152_FUSV0152OPDBMapper
{
	/** 選択（1） */
	private static final String SENTAKU = "1";

	/** 未選択（0） */
	private static final String MISENTAKU = "0";

	/** モバイル内訳登録最大件数 */
	private static final Integer mobUchMaxCnt_2 = 2;

	/** 全角スペース */
	private static final String ZENKAKU_SPACE = "　";

	/** FAX希望フラグ：1 */
	private static final String FAX_KIBO_1 = "1";

	/** オプションサービス契約＜ISP>登録マップ名（ネット） */
	private static final String OP_SVC_NET = "EKK0361D010Net";
	/** オプションサービス契約＜ISP>登録マップ名（モバイル） */
	private static final String OP_SVC_MOB = "EKK0361D010Mob";
	/** ゼロ埋め用定数 */
	private static final String ZERO_STR = "0";
	/** 課金開始年月日補正有無 */
	private static final String CHRG_STA_YMD_HOSEI_UM_0 = "0";
	/** モバイル回線フラグ*/
	private static final String MOBILE_KSN_FLG_1 = "1";
	/** モバイル回線フラグ*/
	private static final String MOBILE_KSN_FLG_2 = "2";
	/** サービス契約回線内訳レコード作成フラグ */
	private static final String SVC_KEI_KSN_UCW_CRT_FLG_1 = "1";

	/** サービス契約グループリスト */
	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";
	/** サービス契約回線内訳レコード作成フラグ */
	private static final String SYSID = "sysid";
	/** 割引サービスコード ファミリーパック */
	private static final String WRIBSVC_CD_W00000006 = "W00000006";

	/** 割引サービスコード おまかせ安心セット */
	private static final String WRIBSVC_CD_W00000007 = "W00000007";

	/** 料金コードコードフラグ */
	private static final String PCRS_CD_FLG = "1";

	// No244 Otsuka 2013/02/21 start
	/** 同一請求先の最大件数 */
	private static final String MAX_SAME_SEIKYUSAKI_CNT = "MAX_SAME_SEIKYUSAKI_CNT";

	// No244 Otsuka 2013/02/21 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

	/** MAPキー 連絡先メールアドレス本登録用の定数 */
	private static final String MAP_KEY_ECK0201C030 = "ECK0201C030";
	/** MAPキー 連絡先メールアドレス本登録用の定数：連絡先番号 */
	private static final String MAP_KEY_RRKS_NO = "rrks_no";
	/** MAPキー 連絡先メールアドレス本登録用の定数：メールアドレス */
	private static final String MAP_KEY_MLAD = "mlad";
	/** MAPキー 連絡先メールアドレス本登録用の定数：メールアドレス変更年月日 */
	private static final String MAP_KEY_MLAD_CHGE_YMD = "mlad_chge_ymd";
	/** MAPキー 連絡先メールアドレス本登録用の定数：予約適用年月日 */
	private static final String MAP_KEY_RSV_APLY_YMD = "rsv_aply_ymd";

	/** 支払方式コード 003：全戸一括 */
	private static final String PAYWAY_CD_003 = "003";
	/** 支払方式コード 004：居住者一括 */
	private static final String PAYWAY_CD_004 = "004";

	/** 申込明細番号 */
	private static final String MSKM_DTL_NO = "mskm_dtl_no";
	/** 料金コースコード */
	private static final String PCRS_CD = "pcrs_cd";
	/** 料金プランコード */
	private static final String PPLAN_CD = "pplan_cd";
	
	// マップキー項目(データ抽出項目取得関連)
	/** JFUADDDCHSKMCDCC */
	private static final String JFUADDDCHSKMCDCC = "JFUAddDchskmCdCC";
	/** TRATCDLIST */
	private static final String TRATCDLIST = "TratCdList";
	/** 取扱コード */
	private static final String IN_TRAT_CD = "trat_Cd";
	/** 即時適用フラグ */
	private static final String APLY_JUN = "aply_jun";
	/** データ抽出項目設定登録契機コード */
	private static final String DCHSKMST_ADD_OPTY_CD = "dchskmst_add_opty_cd";
	/** 最大検索件数 */
	private static final String MAX_SEARCH_NUM = "max_search_num";
	
	/** 機能コード */
	private static final String FUNC_CD = "func_cd";
	/** 処理区分 */
	private static final String TRN_DIV = "trn_div";
	/** サービス契約番号 */
	private static final String SVC_KEI_NO = "svc_kei_no";
	/** サービスキャンセル理由コード */
	private static final String SVC_CANCEL_RSN_CD = "svc_cancel_rsn_cd";
	/** 起算日 */
	private static final String KISAN_YMD = "kisan_ymd";
	/** 利用開始希望日 */
	private static final String USE_STA_KIBO_YMD = "use_sta_kibo_ymd";
	/** 更新年月日時分秒（更新前） */
	private static final String KK0081_UPD_DTM = "kk0081_upd_dtm";
	/** スターチャンネルセット割CC */
	private static final String FUSV015229CC = "FUSV015229CC";
	/** テレビコース（ｅｏ光テレビ） */
	private static final String EO_TV_COURSE = "eo_tv_course";
	/** スターチャンネルセット割実行判定マップ */
	private static final String FUSV015229_REQ_CHK = "FUSV015229ReqChk";
	
	/** 申込時登録不可契約予約種別コード */
	private static final String MKJ_ADDF_KEI_RV_SBT_CD = "mkj_addf_kei_rv_sbt_cd";
	/** オプションサービスコード */
	private static final String OP_SVC_CD = "op_svc_cd";
	/** 割引サービスコード */ 
	private static final String WRIB_SVC_CD = "wrib_svc_cd";
	/** 予約契約数 */
	private static final String RSV_KEI_CNT = "rsv_kei_cnt";
	/** 設定対象契約識別コード */
	private static final String SETE_TG_KEI_SKBT_CD = "sete_tg_kei_skbt_cd";
	/** 設定対象契約番号 */
	private static final String SETE_TG_KEI_NO = "sete_tg_kei_no";
	/** 申込時登録不可契約予約反映方法コード */
	private static final String MKJ_ADDF_KEI_RVHNE_WAY_CD = "mkj_addf_kei_rvhne_way_cd";
	/** 申込時登録不可契約予約反映タイミングコード */
	private static final String MKJ_ADDF_KEI_RVHNE_TMG_CD = "mkj_addf_kei_rvhne_tmg_cd";
	/** 申込時登録不可契約予約反映年月日 */
	private static final String MKJ_ADDF_KEI_RV_HANEI_YMD = "mkj_addf_kei_rv_hanei_ymd";
	/** 更新年月日時分秒(更新前) */
	private static final String UPD_DTM_BF = "upd_dtm_bf";
	/** 申込時登録不可契約予約登録CC */
	private static final String EKK2931D010 = "EKK2931D010";
	/** 申込時登録不可契約予約登録実行判定マップ */
	private static final String FUSV015230_REQ_CHK = "FUSV015230ReqChk";
	/** MAPキー 申込区分 */
	private static final String MAP_MSKM_KBN = "mskm_kbn";
	
	// 「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.10 FJ)中西 start
    /** 金融機関コード：ゆうちょ銀行 */
    private static final String BANK_CD_POSTAL = "9900" ;
	//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.10 FJ)中西 end
	
	/** FUSV015231CC */
	private static final String FUSV015231CC = "FUSV015231CC";
	/** メール受信設定表示フラグ */
	private static final String MAIL_JUSIN_SETTEI_DSP_FLG = "mail_jusin_settei_dsp_flg";
	/** SYSID取得先コンポーネント名 */
	private static final String GET_SYSID_COMP_NM = "get_sysid_comp_nm";
	/** SYSID */
	private static final String IN_SYSID = "in_sysid";
	/** オプトインメールワーク登録リスト */
	private static final String OPTINM_WORK_ADD_LIST = "optinm_work_add_list";
	/** オプトインメール登録リスト */
	private static final String OPTINM_ADD_LIST = "optinm_add_list";
	/** オプトインメール番号 */
	private static final String OPTINM_NO = "optinm_no";
	/** 受信区分 */
	private static final String RCV_DIV = "rcv_div";
	/** メール受信設定表示フラグ 1：表示 */
	private static final String MAIL_JUSIN_SETTEI_DSP_FLG_1 = "1";
	/** SYSID取得マップキー(個人) */
	private static final String MAP_KEY_ECK0021D010 = "ECK0021D010";
	/** SYSID取得マップキー(法人) */
	private static final String MAP_KEY_ECK0031D010 = "ECK0031D010";
	/** 連絡用コンテンツメールアドレス */
	private static final String IN_MLAD = "in_mlad";
	/** FUSV015232CC */
	private static final String FUSV015232CC = "FUSV015232CC";

// ANK-3296-00-00 ADD START
	/** FUSV015233SC */
	/** 機能コード */
	private static final String FUNC_CODE = "func_code";
	/** 割賦契約ステータス */
	private static final String KAP_KEI_STAT = "kap_kei_stat";
	/** 割賦プランコード */
	private static final String KAP_PLAN_CD = "kap_plan_cd";
	/** サービス契約回線内訳番号 */
	private static final String SVC_KEI_KAISEN_UCWK_NO = "svc_kei_kaisen_ucwk_no";
	/** 初回請求サービス契約番号 */
	private static final String FIRST_SEIKY_SVC_KEI_NO = "first_seiky_svc_kei_no";
	/** 割賦一括請求切替年月 */
	private static final String KAP_IKT_SIKY_SWCH_YM = "kap_ikt_siky_swch_ym";
	/** 割賦契約締結年月日 */
	private static final String KAP_KEI_CNC_YMD = "kap_kei_cnc_ymd";
	/** 割賦契約終了年月日 */
	private static final String KAP_KEI_ENDYMD = "kap_kei_endymd";
	/** 割賦契約キャンセル年月日 */
	private static final String KAP_KEI_CANCEL_YMD = "kap_kei_cancel_ymd";
	/** 割賦契約サービス開始年月日 */
	private static final String KAP_KEI_SVC_STAYMD = "kap_kei_svc_staymd";
	/** 割賦契約課金開始年月日 */
	private static final String KAP_KEI_CHRG_STAYMD = "kap_kei_chrg_staymd";
	/** 割賦請求開始年月 */
	private static final String KAP_SEIKY_STA_YM = "kap_seiky_sta_ym";
	/** 割賦支払い残回数 */
	private static final String KAP_PAY_ZEN_CNT = "kap_pay_zan_cnt";
	/** 割賦請求済回数 */
	private static final String KAP_SEIKY_ZUMI_CNT = "kap_seiky_zumi_cnt";
	/** 割賦請求済金額 */
	private static final String KAP_SEIKY_ZUMI_AMNT = "kap_seiky_zumi_amnt";
	/** 工事費割賦契約登録SC */
	private static final String FUSV015233SC = "FUSV015233SC";
	/** 標準工事費お支払い方法 */
	private static final String STDARD_KOJIHI_PAYWAY = "stdard_kojihi_payway";
	/** 工事費割賦契約登録実行判定マップ */
	private static final String FUSV015233_REQ_CHK = "FUSV015233ReqChk";
// ANK-3296-00-00 ADD END
	/** プロパティファイル取得文字列（CX案件開始フラグ） */
	private static final String CX_START_FLG = "DISPSETTING/COMMONSETTING/DISPTEXT[@id='CX_START_FLG']";

// ANK-3951-00-00 ADD START
	/** 工事費割賦(24回) フロント受付開始日（蓋開け用） */
	private static final String PATH_KOJIHI_KAP_24_START_YMD = "DISPSETTING/COMMONSETTING/DISPTEXT[@id='KOJIHI_KAP_24_START_YMD']";
// ANK-3951-00-00 ADD END
	
	/** 利用中のネット回線 */	
	private static final String USE_NET_KSN = "use_net_ksn";
	/** 利用中の機器の設置場所変更予定 */	
	private static final String KIKI_PLACE_CHG = "kiki_place_chg";
	/** 宅内調査と工事の同日実施 */	
	private static final String TKC_KOJI_SAME = "tkc_koji_same";
	/** 早期開通早期連絡希望有無 */	
	private static final String TSYRN_EARLY_OPEN_EARLY_RRK_KBUN_SCREEN = "tsyrn_early_open_early_rrk_kbum_screen";

// ANK-4427-00-00 ADD START
	/** FUW00911 現在利用中のＮＴＴ光ネットサービス フレッツ・コラボ光を利用していない（新規）*/	
	private static final String TENYO_DIV_SINKI = "1";
	/** FUW00911 現在利用中のＮＴＴ光ネットサービス フレッツ光を利用中（転用）*/	
	private static final String TENYO_DIV_TENYO = "2";
	/** FUW00911 現在利用中のＮＴＴ光ネットサービス コラボ光を利用中（事業者変更）*/	
	private static final String TENYO_DIV_JIGYOSYA = "3";
// ANK-4427-00-00 ADD END

	/**
	 * コンストラクタ
	 */
	public FUSV0152_FUSV0152OPDBMapper()
	{
	}

	/**
	 * お客様＜個人＞登録上りマッピングをします。
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return boolean true(固定)
	 */
	@SuppressWarnings("unchecked")
	public HashMap setECK0021D010(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 bn = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(bn);

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// 契約者タイプコード
		parentMap.put("keisha_type_cd", JFUStrConst.CD00036_1);
		// 契約者・氏名（姓） + 契約者・氏名（名） → お客様＜個人＞登録マップ.お客様名
		parentMap.put("cust_nm", getKshnm(bn, bnKeiyakuinfo));
		// 契約者・氏名かな（姓） + 契約者・氏名かな（名） → お客様＜個人＞登録マップ.お客様カナ名
		parentMap.put("cust_kana", getKshnmKna(bn, bnKeiyakuinfo));
		// 契約者・性別→ お客様＜個人＞登録マップ.お客様性別コード
		parentMap.put("cust_sex_cd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SEX_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 生年月日（年） + 生年月日（年） + 生年月日（年）→ お客様＜個人＞登録マップ.お客様生年月日
		/** 2011/12/21 フロント＠西井 生年月日ゼロ埋め処理追加 START */
		String birth_month = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.BIRTHD_MONTH_09, X31CWebConst.DATABEAN_GET_VALUE);
		String birth_day = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.BIRTHD_DAY_09, X31CWebConst.DATABEAN_GET_VALUE);
		birth_month = birth_month.length() == 1 ? (ZERO_STR + birth_month) : birth_month;
		birth_day = birth_day.length() == 1 ? (ZERO_STR + birth_day) : birth_day;
		//		parentMap.put("cust_birthd", bnKeiyakuinfo.sendMessageString(
		//				CommonInfoCFConst.BIRTHD_YEAR_09,
		//				X31CWebConst.DATABEAN_GET_VALUE)
		//				+ bnKeiyakuinfo.sendMessageString(
		//						CommonInfoCFConst.BIRTHD_MONTH_09,
		//						X31CWebConst.DATABEAN_GET_VALUE)
		//				+ bnKeiyakuinfo.sendMessageString(
		//						CommonInfoCFConst.BIRTHD_DAY_09,
		//						X31CWebConst.DATABEAN_GET_VALUE));
		parentMap.put("cust_birthd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.BIRTHD_YEAR_09, X31CWebConst.DATABEAN_GET_VALUE) + birth_month
				+ birth_day);
		/** 2011/12/21 フロント＠西井 生年月日ゼロ埋め処理追加 END */
		// 契約者・郵便番号（上） + 契約者・郵便番号（下） → お客様＜個人＞登録マップ.契約者郵便番号
		parentMap.put("keisha_pcd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者・建物名 → お客様＜個人＞登録マップ.契約者住所補記・建物名
		parentMap.put("keisha_adrttm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者・部屋番号 → お客様＜個人＞登録マップ.契約者住所補記・部屋番号
		parentMap.put("keisha_adrrm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者・電話番号（１） + 契約者・電話番号(2) + 契約者・電話番号(3) → お客様＜個人＞登録マップ.契約者電話番号
		parentMap.put("keisha_telno", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));
		/* 2012/10/27 Y.Saitou IT1-2012-0001106 DEL-START */
		//		// お客様＜個人＞登録マップ.お客様ランクコード
		//		parentMap.put("cust_rank_cd", JFUStrConst.CD00267_2);
		/* 2012/10/27 Y.Saitou IT1-2012-0001106 DEL-END */
		// お客様＜個人＞登録マップ.会員種別コード
		parentMap.put("member_sbt_cd", JFUStrConst.CD00039_00);
		// システム日付 → 入会年月日
		//String opeDate = opeDate;
		parentMap.put("join_ymd", opeDate);
		// 内販外販コード
		parentMap.put("naihan_gaihan_cd", JFUStrConst.CD00682_001);
		// 会員ISP決済状態コード
		parentMap.put("mmb_isp_kssai_stat_cd", JFUStrConst.CD00870_0);
		// 契約者住所手動入力フラグ
		parentMap.put("keisha_ad_man_input_flg", JFUStrConst.CD01239_0); /* 2012/10/27 Y.Saitou IT1-2012-0001108 MOD */
		
		// 関電Ｇ個人情報取扱同意有無
		parentMap.put("kepg_kjnif_trat_doi_um", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KEPG_KJNIF_TRAT_DOI_UM_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電G個人情報取扱同意年月日
		parentMap.put("kepg_kjnif_trat_doi_ymd", opeDate);
		// 関電Ｇ個人情報提供不可フラグ
		parentMap.put("kepg_kjnift_ffg", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KEPG_KJNIFT_FFG_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電G個人情報提供不可フラグ変更年月日
		parentMap.put("kepg_kjnift_ffg_chg_ymd", opeDate);

		// ↓↓ 2011/10/27 修正 ↓↓

		String fax_select = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.FAX_KIBO_09, X31CWebConst.DATABEAN_GET_VALUE);

		// FAX連絡希望選択が"1":選択の場合
		if ("1".equals(fax_select))
		{

			// 連絡手段コード 01:FAX
			parentMap.put("rrk_way_cd", JFUStrConst.CD00251_01);

			String fax_1 = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.FAXNO1_09, X31CWebConst.DATABEAN_GET_VALUE);

			String fax_2 = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.FAXNO2_09, X31CWebConst.DATABEAN_GET_VALUE);

			String fax_3 = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.FAXNO3_09, X31CWebConst.DATABEAN_GET_VALUE);

			// FAX番号→連絡手段補記
			parentMap.put("rrk_way_hoki", fax_1 + fax_2 + fax_3);

		}
		// ↑↑ 2011/10/27 修正 ↑↑

		// 親権者情報
		String mskmKbn = bn.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		String under20flg = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.UNDER_20_FLG_09, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn) && "1".equals(under20flg))
		{
			// 親権者名
			String shinkenshaSei = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SKSHA_SEI_09, X31CWebConst.DATABEAN_GET_VALUE);
			String shinkenshaMei = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SKSHA_MEI_09, X31CWebConst.DATABEAN_GET_VALUE);
			String shinekenshaNm = JFUStrConst.EMPTY;
			if (!JFUWebCommon.isNull(shinkenshaSei) && !JFUWebCommon.isNull(shinkenshaMei))
			{
				shinekenshaNm = shinkenshaSei + ZENKAKU_SPACE + shinkenshaMei;
			}
			parentMap.put("sksha_nm", shinekenshaNm);

			// 親権者カナ名
			String shinkenshaSeiKana = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SKSHA_SEI_KANA_09, X31CWebConst.DATABEAN_GET_VALUE);
			String shinkenshaMeiKana = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SKSHA_MEI_KANA_09, X31CWebConst.DATABEAN_GET_VALUE);
			String shinekenshaNmKana = JFUStrConst.EMPTY;
			if (!JFUWebCommon.isNull(shinkenshaSeiKana) && !JFUWebCommon.isNull(shinkenshaMeiKana))
			{
				shinekenshaNmKana = shinkenshaSeiKana + ZENKAKU_SPACE + shinkenshaMeiKana;
			}
			parentMap.put("sksha_kana", JFUWebCommon.convFullHiraToFullKataV(shinekenshaNmKana));

			// 親権者生年月日
			String shinkenshaBirthY = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_YEAR_09, X31CWebConst.DATABEAN_GET_VALUE);
			String shinkenshaBirthM = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_MONTH_09, X31CWebConst.DATABEAN_GET_VALUE);
			String shinkenshaBirthD = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SKSHA_BIRTHD_DAY_09, X31CWebConst.DATABEAN_GET_VALUE);
			shinkenshaBirthM = (shinkenshaBirthM.length() == 1) ? (ZERO_STR + shinkenshaBirthM) : (shinkenshaBirthM);
			shinkenshaBirthD = (shinkenshaBirthD.length() == 1) ? (ZERO_STR + shinkenshaBirthD) : (shinkenshaBirthD);
			String shinkenshaBirthYmd = shinkenshaBirthY + shinkenshaBirthM + shinkenshaBirthD;
			parentMap.put("sksha_birthd", shinkenshaBirthYmd);

			// 親権者続柄コード
			String shinkenshaZokugaraCd = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SKSHA_ZOKUGARA_CD_09, X31CWebConst.DATABEAN_GET_VALUE);
			parentMap.put("sksha_zokugara_cd", shinkenshaZokugaraCd);

			// 続柄その他
			String shinkenshaZokugaraSonota = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.ZOKUGARA_OTHER_09, X31CWebConst.DATABEAN_GET_VALUE);
			parentMap.put("zokugara_other", shinkenshaZokugaraSonota);

			// 親権者電話番号
			String shinkenshaTelNo1 = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SKSHA_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE);
			String shinkenshaTelNo2 = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SKSHA_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE);
			String shinkenshaTelNo3 = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SKSHA_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE);
			String shineknshaTelNo = shinkenshaTelNo1 + shinkenshaTelNo2 + shinkenshaTelNo3;
			parentMap.put("sksha_telno", shineknshaTelNo);
		}
		String eoid = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.EOID_09, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("eoid", eoid);

		outputMap.put("ECK0021D010", parentMap);

		return outputMap;
	}

	/**
	 *お客様＜個人＞登録下りマッピングする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getECK0021D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		// WEB新規情報
		X31SDataBeanAccess bn = getWebInfo(bean[0]);

		HashMap parentMap = null;
		if (outputMap.containsKey("ECK0021D010"))
		{
			parentMap = (HashMap)outputMap.get("ECK0021D010");
		}
		else
		{
			return bean;
		}

		// SYSID ← お客様＜個人＞登録マップ.SYSID
		bn.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sysid"));
		return bean;
	}

	/**
	 * お客様＜法人＞登録上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setECK0031D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate)
	{
		ArrayList list = null;
		HashMap subMap = null;

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bn = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(bn);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 代表者氏名の結合
		String daihyou_sei = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.DHSNM_SEI_09, X31CWebConst.DATABEAN_GET_VALUE);
		String daihyou_mei = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.DHSNM_NM_09, X31CWebConst.DATABEAN_GET_VALUE);
		String daihyou_shimei = daihyou_sei + ZENKAKU_SPACE + daihyou_mei;

		// 代表者氏名かなの変換と結合
		String daihyou_seiKana = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.DHSKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE);
		String daihyou_meiKana = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.DHSKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE);
		String daihyou_seiKatakana = JFUWebCommon.convFullHiraToFullKataV(daihyou_seiKana);
		String daihyou_meiKatakana = JFUWebCommon.convFullHiraToFullKataV(daihyou_meiKana);
		String daihyou_shimeiKatakana = daihyou_seiKatakana + ZENKAKU_SPACE + daihyou_meiKatakana;

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// 契約者タイプコード
		parentMap.put("keisha_type_cd", JFUStrConst.CD00036_2);
		// 2013/02/19 ANK-1402-00-00		
		// 契約者・法人代表者名 → お客様＜法人＞登録マップ.お客様名
		//parentMap.put("cust_nm", daihyou_shimei);
		// 契約者・法人代表者名 → お客様＜法人＞登録マップ.代表者名
		parentMap.put("dihysha_nm", daihyou_shimei);

		// 契約者・法人代表者名かな → お客様＜法人＞登録マップ.お客様カナ名
		// parentMap.put("cust_kana", daihyou_shimeiKatakana);
		// 契約者・法人代表者名かな → お客様＜法人＞登録マップ.お客様カナ名
		parentMap.put("dihysha_kana", daihyou_shimeiKatakana);

		// IT1-2013-0000324↓
		// 契約者・法人名 → お客様＜法人＞登録マップ.お客様名
		parentMap.put("cust_nm", getKshnm(bn, bnKeiyakuinfo));
		// 契約者・法人名かな → お客様＜法人＞登録マップ.お客様カナ名
		parentMap.put("cust_kana", getKshnmKna(bn, bnKeiyakuinfo));
		// IT1-2013-0000324↑

		// 契約者・郵便番号（上） → お客様＜法人＞登録マップ.契約者郵便番号
		parentMap.put("keisha_pcd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約者・建物名 → お客様＜法人＞登録マップ.契約者住所補記・建物名
		parentMap.put("keisha_adrttm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 契約者・部屋番号 → お客様＜法人＞登録マップ.契約者住所補記・部屋番号
		parentMap.put("keisha_adrrm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));
		// "契約者・電話番号（１） → お客様＜法人＞登録マップ.契約者電話番号
		parentMap.put("keisha_telno", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));
		/* 2012/10/27 Y.Saitou IT1-2012-0001106 DEL-START */
		//		// お客様ランクコード
		//		parentMap.put("cust_rank_cd", JFUStrConst.CD00267_2);
		/* 2012/10/27 Y.Saitou IT1-2012-0001106 DEL-END */
		// 会員種別コード
		parentMap.put("member_sbt_cd", JFUStrConst.CD00039_00);
		// システム日付 → お客様＜法人＞登録マップ.入会年月日
		//String opeDate = opeDate;
		parentMap.put("join_ymd", opeDate);
		// 会員ISP決済状態コード
		parentMap.put("mmb_isp_kssai_stat_cd", JFUStrConst.CD00870_0);
		// 契約者・法人名 → お客様＜法人＞登録マップ.会社名
		parentMap.put("comp_nm", getKshnm(bn, bnKeiyakuinfo));
		// 契約者・法人名かなをカタカナに変換 → お客様＜法人＞登録マップ.会社カナ名
		parentMap.put("comp_kana", getKshnmKna(bn, bnKeiyakuinfo));
		// 法人格前後指定コード
		parentMap.put("hojin_zengo_shitei_cd", JFUStrConst.CD00247_2);
		// WiFi即時対応 2012/11/15 h.iwamoto START
		// 法人格種別コード
		parentMap.put("hojin_sbt_cd", JFUStrConst.CD00246_00);
		// WiFi即時対応 2012/11/15 h.iwamoto END
		// 契約者住所手動入力フラグ
		parentMap.put("keisha_ad_man_input_flg", JFUStrConst.CD01239_0); /* 2012/10/27 Y.Saitou IT1-2012-0001108 MOD */
		// 法人連絡先明細
		list = new ArrayList();
		subMap = new HashMap();
		// 連絡先コード
		subMap.put("rrks_cd", JFUStrConst.CD00268_01);
		// 障害No.47 連絡先名称抜け落ち対応 2013/01/28 h.iwamoto
		// 法人連絡先名
		subMap.put("hjrrks_nm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_NM_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 法人連絡先住所コード
		subMap.put("hjrrks_ad_cd", "");
		// 法人連絡先郵便番号
		subMap.put("hjrrks_pcd", "");
		// 法人連絡先都道府県名
		subMap.put("hjrrks_state_nm", "");
		// 法人連絡先市区町村名
		subMap.put("hjrrks_city_nm", "");
		// 法人連絡先大字通称名
		subMap.put("hjrrks_oaztsu_nm", "");
		// 法人連絡先字丁目名
		subMap.put("hjrrks_azcho_nm", "");
		// 法人連絡先番地号
		subMap.put("hjrrks_bnchigo", "");
		// 法人連絡先住所補記・建物名
		subMap.put("hjrrks_adrttm", "");
		// 法人連絡先住所補記・部屋番号
		subMap.put("hjrrks_adrrm", "");
		// 法人連絡先担当者名
		subMap.put("hjrrks_tntsha_nm", "");
		// 法人連絡先担当者カナ名
		subMap.put("hjrrks_tntsha_kana", "");
		// 法人連絡先担当者所属部署名
		subMap.put("hjrrks_tntsha_shozkbsho_nm", "");
		list.add(subMap);
		// 内販外販コード
		parentMap.put("naihan_gaihan_cd", JFUStrConst.CD00682_001);

		// 関電Ｇ個人情報取扱同意有無
		parentMap.put("kepg_kjnif_trat_doi_um", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KEPG_KJNIF_TRAT_DOI_UM_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電G個人情報取扱同意年月日
		parentMap.put("kepg_kjnif_trat_doi_ymd", opeDate);
		// 関電Ｇ個人情報提供不可フラグ
		parentMap.put("kepg_kjnift_ffg", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KEPG_KJNIFT_FFG_09, X31CWebConst.DATABEAN_GET_VALUE));
		// 関電G個人情報提供不可フラグ変更年月日
		parentMap.put("kepg_kjnift_ffg_chg_ymd", opeDate);
		
		// 2022/12/19 OM-2021-0001630対応 START
		String fax_select = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.FAX_KIBO_09, X31CWebConst.DATABEAN_GET_VALUE);

		// FAX連絡希望選択が"1":選択の場合
		if ("1".equals(fax_select))
		{

			// 連絡手段コード 01:FAX
			parentMap.put("rrk_way_cd", JFUStrConst.CD00251_01);

			String fax_1 = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.FAXNO1_09, X31CWebConst.DATABEAN_GET_VALUE);

			String fax_2 = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.FAXNO2_09, X31CWebConst.DATABEAN_GET_VALUE);

			String fax_3 = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.FAXNO3_09, X31CWebConst.DATABEAN_GET_VALUE);

			// FAX番号→連絡手段補記
			parentMap.put("rrk_way_hoki", fax_1 + fax_2 + fax_3);

		}
		// 2022/12/19 OM-2021-0001630対応 END
		
		String eoid = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.EOID_09, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put("eoid", eoid);

		String birth_month = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.BIRTHD_MONTH_09, X31CWebConst.DATABEAN_GET_VALUE);
		String birth_day = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.BIRTHD_DAY_09, X31CWebConst.DATABEAN_GET_VALUE);
		birth_month = birth_month.length() == 1 ? (ZERO_STR + birth_month) : birth_month;
		birth_day = birth_day.length() == 1 ? (ZERO_STR + birth_day) : birth_day;
		parentMap.put("cust_birthd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.BIRTHD_YEAR_09, X31CWebConst.DATABEAN_GET_VALUE) + birth_month
				+ birth_day);
		
		parentMap.put("ECK0031D010CBSMsg1List", list);
		outputMap.put("ECK0031D010", parentMap);

		return outputMap;
	}

	/**
	 * お客様＜法人＞登録下りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getECK0031D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		// WEB新規情報
		X31SDataBeanAccess bn = getWebInfo(bean[0]);

		HashMap parentMap = null;
		if (outputMap.containsKey("ECK0031D010"))
		{
			parentMap = (HashMap)outputMap.get("ECK0031D010");
		}
		else
		{
			return bean;
		}

		// 共有フォームＢｅａｎ.SYSID ← お客様＜法人＞登録マップ.SYSID
		bn.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("sysid"));

		return bean;
	}

	/**
	 * 連絡先登録の上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setECK0201D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{

		ArrayList list = null; // 連絡先リスト
		HashMap childMap = null; // 連絡先
		int intRrkCnt = 0; // 連絡先数(メールアドレス、連絡先電話番号、FAX番号、契約者電話番号)
		HashMap wrkMap = null;// 登録する連絡先を詰める

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bn = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(bn);

		ArrayList wrkList = new ArrayList();
		// 連絡先電話番号
		// 連絡先・電話番号（１）連絡先・電話番号（２）連絡先・電話番号（３） → 連絡先登録マップ.契約者電話番号
		String telno =
				bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
						+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
						+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE);
		// 連絡方法コード
		wrkMap = new HashMap<String, Object>();
		wrkMap.put("key", "telno");
		wrkMap.put("rrkwaycd", JFUStrConst.CD00790_003);
		wrkMap.put("rrkno", telno);
		wrkList.add(wrkMap);

		String mlad = "";
		// メールアドレス
		if (bn.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.KEI_SBT_HOJINCD))
		{
			// 法人メールアドレス
			mlad = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else if (bn.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.KEI_SBT_KOJINCD))
		{
			// 個人メールアドレス
			mlad = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}

		// 連絡先メールアドレスの連絡先番号を取得
		String rrksNo = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_NO_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		/** 2012/3/1 楠山 変更 メールアドレスが入力されていない場合、作成しない START */
		if (null != mlad && !"".equals(mlad) && JFUWebCommon.isNull(rrksNo))
		{
			// 連絡方法コード
			wrkMap = new HashMap<String, Object>();
			wrkMap.put("key", MAP_KEY_MLAD);
			wrkMap.put("rrkwaycd", JFUStrConst.CD00790_001);
			wrkMap.put("rrkno", mlad);
			wrkList.add(wrkMap);
		}
		/** 2012/3/1 楠山 変更 メールアドレスが入力されていない場合、作成しない END */
		// FAX希望
		String fax_kibo = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.FAX_KIBO_09, X31CWebConst.DATABEAN_GET_VALUE);
		if (fax_kibo.equals(FAX_KIBO_1))
		{
			String faxNo =
					bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.FAXNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
							+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.FAXNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
							+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.FAXNO3_09, X31CWebConst.DATABEAN_GET_VALUE);
			wrkMap = new HashMap<String, Object>();
			wrkMap.put("key", "fax_no");
			wrkMap.put("rrkwaycd", JFUStrConst.CD00790_005);
			wrkMap.put("rrkno", faxNo);
			wrkList.add(wrkMap);
		}

		// 2012/06/07 IT2-2012-0000651対応 START
		/*
		// ↓↓ 2011/10/27 追加 ↓↓
		// 制御用に連絡先選択を取得
		String rrks_choise = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_CHOICE_09, X31CWebConst.DATABEAN_GET_VALUE);
		// 連絡先選択が"2"(契約者住所と同じ)以外の場合
		if (!rrks_choise.equals(RRKS_CHOICE_2))
		{
			String kkyktelno =
					bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
							+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
							+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE);
			wrkMap = new HashMap<String, Object>();
			wrkMap.put("key", "telno");
			wrkMap.put("rrkwaycd", JFUStrConst.CD00790_003);
			wrkMap.put("rrkno", kkyktelno);
			wrkList.add(wrkMap);
		}
		// ↑↑ 2011/10/27 追加 ↑↑
		*/
		// 2012/06/07 IT2-2012-0000651対応 END
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		list = new ArrayList();
		HashMap inMap = null;

		// 連絡先情報カウント
		intRrkCnt = wrkList.size();
		for (int i = 0; i < intRrkCnt; i++)
		{
			// ワークマップ
			inMap = (HashMap)wrkList.get(i);

			// childMapの初期化
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put("func_code", func_code);

			// 共有フォームBean.契約種別が2:法人の場合
			if (bn.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE).equals("2"))
			{
				// "01"： 契約者（固定）→ 連絡先登録マップ.連絡先コード
				childMap.put("rrks_cd", JFUStrConst.CD00268_01);
			}
			else
			{
				childMap.put("rrks_cd", "");
			}
			// 連絡方法コード
			childMap.put("rrk_way_cd", inMap.get("rrkwaycd"));

			String mskmKbn = bn.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
			// IT1-2013-0000425 2013/03/12 kusumoto Start
			// 連絡先種別コード
			if (inMap.get("rrkwaycd").equals(JFUStrConst.CD00790_003))
			{
				//連絡先種別：携帯
				childMap.put("rrks_sbt_cd", JFUStrConst.CD00254_2);
			}
			else
			{
				String cxStartFlg = JFUWebCommon.getDispItem(CX_START_FLG);
				if ("1".equals(cxStartFlg))
				{
					//連絡先種別：その他
					if (JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn) && inMap.get("rrkwaycd").equals(JFUStrConst.CD00790_001))
					{
						childMap.put("rrks_sbt_cd", JFUStrConst.CD00254_1);
					} else {
						childMap.put("rrks_sbt_cd", JFUStrConst.CD00254_5);
					}
				} else {
					childMap.put("rrks_sbt_cd", JFUStrConst.CD00254_5);
				}
			}
			// IT1-2013-0000425 2013/03/12 kusumoto end

			// 連絡先分類コード
			String cxStartFlg = JFUWebCommon.getDispItem(CX_START_FLG);
			if ("1".equals(cxStartFlg))
			{
				if (inMap.get("rrkwaycd").equals(JFUStrConst.CD00790_001))
				{
					if (JFUStrConst.MSKM_KBN_NEW.equals(mskmKbn))
					{
						childMap.put("rrks_bunrui_cd", JFUStrConst.CD00871_1);
					} else {
						childMap.put("rrks_bunrui_cd", JFUStrConst.CD00871_0);
					}
				} else {
					childMap.put("rrks_bunrui_cd", JFUStrConst.CD00871_0);
				}
			} else {
				childMap.put("rrks_bunrui_cd", JFUStrConst.CD00871_0);
			}
			// メールアドレス or 電話番号 or FAX番号
			childMap.put(inMap.get("key"), inMap.get("rrkno"));

			// レコード作成
			list.add(childMap);

		}

		// 追加申込の場合、申込区分フラグを設定する
		String mskmKbn = bn.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		parentMap.put(MAP_MSKM_KBN, mskmKbn);

		parentMap.put("ECK0201D010List", list);
		outputMap.put("ECK0201D010", parentMap);

		return outputMap;
	}

	/**
	 * 連絡先登録の下りをマッピングする
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getECK0201D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		// 処理無し

		return bean;
	}

	/**
	 * 連絡先メールアドレス本登録の上りマッピングをする
	 * 
	 * <br>
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate 運用日付
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setECK0201C030(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate)
	{

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bn = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(bn);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 連絡先番号のセット
		parentMap.put(MAP_KEY_RRKS_NO, bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_NO_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE));

		String mlad = "";
		// メールアドレス
		if (bn.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.KEI_SBT_HOJINCD))
		{
			// 法人メールアドレス
			mlad = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else if (bn.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.KEI_SBT_KOJINCD))
		{
			// 個人メールアドレス
			mlad = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}

		// メールアドレスのセット
		parentMap.put(MAP_KEY_MLAD, mlad);
		// メールアドレス変更年月日のセット
		parentMap.put(MAP_KEY_MLAD_CHGE_YMD, opeDate);
		// 予約適用年月日のセット
		parentMap.put(MAP_KEY_RSV_APLY_YMD, opeDate);

		outputMap.put(MAP_KEY_ECK0201C030, parentMap);

		return outputMap;
	}

	/**
	 * 申込書番号採番の上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate 年月日
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0021C013(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate) throws Exception
	{
		// 2013/02/01 Otsuka 未使用項目をコメントアウト
		//		ArrayList list = null;
		//		HashMap childMap = null;
		//		String mskm_ksn_svc = "";
		//
		//		String preFix = "";
		//		String workNet = "";
		//		String workTv = "";
		//		String workTel = "";
		//		String workMob = "";

		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]);

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// 20120925 Otsuka 修正 start
		// 共有フォームBean.申込回線サービス
		//		String ksn_svc = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		//		// 共有フォームBean.マンションタイプ
		//		String mns_typ = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		//		if (ksn_svc.equals(JFUStrConst.MSKM_KSN_SVC_HOME))
		//		{
		//			mskm_ksn_svc = MSKM_KSN_SVC_HOME;
		//		}
		//		else if (ksn_svc.equals(JFUStrConst.MSKM_KSN_SVC_MANSION))
		//		{
		//			if (mns_typ.equals(JFUStrConst.MSKM_MNS_TYPE_MANSION))
		//			{
		//				mskm_ksn_svc = MSKM_KSN_SVC_MANSION;
		//			}
		//			else if (mns_typ.equals(JFUStrConst.MSKM_MNS_TYPE_MEZON))
		//			{
		//				mskm_ksn_svc = MSKM_KSN_SVC_MEZON;
		//			}
		//		}
		// 申込回線サービス
		//		parentMap.put("mskm_kaisen_svc", mskm_ksn_svc);

		// 販売タイプ
		String hanbaiType = bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);

		String mskmFormCd = "";

		// 販売タイプがコンシューマの場合
		if (JFUStrConst.HNBAI_TYPE_CON.equals(hanbaiType))
		{
			// WEBを設定
			mskmFormCd = JFUStrConst.CD00591_01;
		}
		// 販売タイプが訪販の場合
		else if (JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType))
		{
			// 訪販を設定
			mskmFormCd = JFUStrConst.CD00591_03;
		}
		// 販売タイプが量販の場合
		else if (JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbaiType))
		{
			// 量販を設定
			mskmFormCd = JFUStrConst.CD00591_02;
		}
		// 販売タイプが提携住宅会社の場合
		else if (JFUStrConst.HNBAI_TYPE_TKJCOMP.equals(hanbaiType))
		{
			// 提携住宅会社を設定
			mskmFormCd = JFUStrConst.CD00591_06;
		}

		// 申込形態コード
		parentMap.put("mskm_form_cd", mskmFormCd);

		// 年月日
		parentMap.put("ymd", opeDate);

		// 20120925 Otsuka 修正 end

		// 申込区分
		parentMap.put("mskm_kbn", bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0021C013", parentMap);

		return outputMap;
	}

	/**
	 * 申込書採番下りマッピング
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0021C013(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("EKK0021C013"))
		{
			parentMap = (HashMap)outputMap.get("EKK0021C013");
		}
		else
		{
			return bean;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス情報
		X31SDataBeanAccess bnKeiyakusvcinfo = getKeiyakusvcinfo(bnWebinfo);

		// 共有フォームBean.契約サービス情報（申込書番号） ← 申込書採番マップ.mskmsho_no
		bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.MSKMSHO_NO_10, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("mskmsho_no"));

		return bean;
	}

	/**
	 * 申込登録の上りマッピングをする
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @param bl 実行中のVIEWロジックインスタンス
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0011D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate, String opeDateTime,
			X31BWebBusinessLogic bl) throws Exception
	{
		ArrayList list = null;
		HashMap childMap = null;
		int srvCnt = 0;
		//		int telTempCnt = 0; // 電話番号登録数
		//		String preFix = "";
		String workNet = "";
		String workTv = "";
		String workTel = "";
		//		String workMob = "";

		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 bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);
		// 契約サービス情報
		X31SDataBeanAccess bnKeiyakusvcinfo = getKeiyakusvcinfo(bnWebinfo);
		// テレビ情報
		X31SDataBeanAccess bnTvInfo = getEotv(bnWebinfo);
		// モバイル情報
		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(bnWebinfo);
		// マンション
		X31SDataBeanAccess bnMasion = getMansioninfo(bnWebinfo);
		// 住宅情報
		X31SDataBeanAccess bnJutakuinfo = getJutakuinfo(bnWebinfo);
		// 利用回線・機器情報
		X31SDataBeanAccess useKaisenKikiInfo = getUseKaisenKikiInfo(bnWebinfo);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// SYSID
		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// 申込種別コード
		// 共有フォームBean.申込区分が1(新規)の場合
		if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KBN_NEW))
		{
			parentMap.put("mskm_sbt_cd", JFUStrConst.KK0971_MSKM_SBT_CD_00001);
		}
		// 共有フォームBean.申込区分が2(追加)の場合
		else if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KBN_ADD))
		{
			parentMap.put("mskm_sbt_cd", JFUStrConst.KK0971_MSKM_SBT_CD_00002);
		}

		// システム日付
		//String opeDateTime = JFUWebCommon.getSysDateTime();
		// 申込書到着年月日
		parentMap.put("mskmsho_ariv_ymd", opeDate);
		// 申込受付年月日時分秒
		parentMap.put("mskm_uk_dtm", opeDateTime);
		// 申込年月日
		parentMap.put("mskm_ymd", opeDate);
		// 2011/10/26 削除 申込連絡先電話番号

		/* 2012/10/27 Y.Saitou IT1-2012-0001107 DEL-START */
		//		String mskmJsssSbtCd = "";
		//		if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.HNBAI_TYPE_CON))
		//		{
		//			// コンシューマ
		//			mskmJsssSbtCd = JFUWebCommon.getDispText(SCREEN_ID, "MSKM_KSS_SBCD_01");
		//		}
		//		else if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.HNBAI_TYPE_RYOHAN))
		//		{
		//			// 量販
		//			mskmJsssSbtCd = JFUWebCommon.getDispText(SCREEN_ID_927, "MSKM_KSS_SBCD_01");
		//			;
		//		}
		//		else if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.HNBAI_TYPE_HOHAN))
		//		{
		//			// 訪販
		//			mskmJsssSbtCd = JFUWebCommon.getDispText(SCREEN_ID_927, "MSKM_KSS_SBCD_01");
		//			;
		//		}
		//		else
		//		{
		//			mskmJsssSbtCd = JFUWebCommon.getDispText(SCREEN_ID, "MSKM_KSS_SBCD_01");
		//		}
		//		// 申込実施者種別コード
		//		parentMap.put("mskm_jssis_sbt_cd", mskmJsssSbtCd);
		/* 2012/10/27 Y.Saitou IT1-2012-0001107 DEL-END */

		// 本人確認書類名
		// ※量販・訪販のみセット
		if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.HNBAI_TYPE_RYOHAN)
				|| bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE)
						.equals(JFUStrConst.HNBAI_TYPE_HOHAN))
		{
			// 2013/03/07 Fujiwara Mod Start
			/** 2012/02/18 楠山 量販・訪販用処理 変更 START */
			parentMap.put("hnin_cfm_bunsho_kind_nm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.HONNIN_DETAIL_09,
					X31CWebConst.DATABEAN_GET_VALUE));
			/** 2012/02/18 楠山 量販・訪販用処理 変更 END */
			// 2013/03/07 Fujiwara Mod End
			// 2012/12/29 kusumoto 本人確認書類選択の取得元をその他情報から契約者情報に変更 Start
			parentMap.put("hnin_cfm_aticle_sbt_cd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.HONNIN_SELECT_09,
					X31CWebConst.DATABEAN_GET_VALUE));
			//// -----IT1-2012-0002045 k.hashimoto 2012/11/14 ADD START-----
			//parentMap.put("hnin_cfm_aticle_sbt_cd", bnElseinfo.sendMessageString(CommonInfoCFConst.HONNIN_SELECT_18, X31CWebConst.DATABEAN_GET_VALUE));
			//// -----IT1-2012-0002045 k.hashimoto 2012/11/14 ADD END-----
			// 2012/12/29 kusumoto 本人確認書類選択の取得元をその他情報から契約者情報に変更 End
		}

		// 仮申込フラグ
		parentMap.put("kari_mskm_flg", JFUStrConst.CD00667_1);

		// 関西電力お客様情報授受同意有無
		// No410 2013/03/03 Otsuka start
		// ホームタイプの場合
		if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			String kanden_doui = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KEPCO_CUSTINFO_JUJU_DOI_UM_09, X31CWebConst.DATABEAN_GET_VALUE);
			if ("".equals(kanden_doui))
			{
				// 関西電力お客様情報授受同意有無が空白の場合0に初期化する(マンション・メゾン向け)
				kanden_doui = "0";
			}
			parentMap.put("kepco_custinfo_juju_doi_um", kanden_doui);
		}
		else
		{
			// マンション・メゾンは0:同意しない 固定
			parentMap.put("kepco_custinfo_juju_doi_um", "0");
		}
		// No410 2013/03/03 Otsuka end

		/* 2012/10/27 Y.Saitou IT1-2012-0001107 DEL-START */
		//		// 電話連絡希望日種別コードJFUStrConst.CD00708_3
		//		parentMap.put("tel_rrk_kibo_date_sbt_cd", "3");
		//		// 宅内調査希望日種別コードJFUStrConst.CD00708_3
		//		parentMap.put("takcho_kibo_date_sbt_cd", "3");
		//		// 電話連絡希望時間帯コードJFUStrConst.CD00708_3
		//		parentMap.put("tel_rrk_kibo_time_cd", "3");
		//		// 宅内調査希望時間帯コードJFUStrConst.CD00708_3
		//		parentMap.put("takcho_kibo_time_cd", "3");
		/* 2012/10/27 Y.Saitou IT1-2012-0001107 DEL-END */

		/* 2012/10/29 Y.Saitou IT1-2012-0001086 DEL-START */
		//		// 申込経路識別コード
		//		parentMap.put("mskm_route_skbt_cd", JFUStrConst.CD00751_2);
		/* 2012/10/29 Y.Saitou IT1-2012-0001086 DEL-END */

		// No316 Otsuka 2013/01/26 start
		// コンシューマ営業用申込状態識別コード
		if (JFUStrConst.HNBAI_TYPE_CON.equals(bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 全戸一括の場合は、04:承認済　それ以外は03:申請中
			if (JFUStrConst.KNYKEI_MSKM_JOKEN_IKT.equals(bnMasion.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
				parentMap.put("consmbsn_mskm_stat_skbt_cd", JFUStrConst.CD00760_04);
			}
			else
			{
				parentMap.put("consmbsn_mskm_stat_skbt_cd", JFUStrConst.CD00760_03);
			}
		}
		else
		{
			// 量販・訪販の場合は03:申請中
			parentMap.put("consmbsn_mskm_stat_skbt_cd", JFUStrConst.CD00760_03);
		}
		// No316 Otsuka 2013/01/26 end

		// 共有フォームBean.販売タイプが1（量販)
		if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.HNBAI_TYPE_RYOHAN))
		{
			// 受付担当者識別コード
			parentMap.put("uk_tntsha_skbt_cd", JFUStrConst.CD01268_02);
		}
		// 共有フォームBean.販売タイプが2（訪販)
		else if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.HNBAI_TYPE_HOHAN))
		{
			// 受付担当者識別コード
			parentMap.put("uk_tntsha_skbt_cd", JFUStrConst.CD01268_03);
		}
		// TAI-2012-0000136 2012/12/29 h.iwamoto 契約新規連携項目不備対応 START
		X31SDataBeanAccess eoNetBean = this.getEonet(bnWebinfo);
		// サービスの引継ぎ
		String hktg = eoNetBean.sendMessageString(CommonInfoCFConst.SVC_HKTGI_11, X31CWebConst.DATABEAN_GET_VALUE);
		// 利用サービス継続種別コード
		parentMap.put("use_svc_keizk_sbt_cd", hktg);
		// TAI-2012-0000136 2012/12/29 h.iwamoto 契約新規連携項目不備対応 END

		// 提携住宅会社コード
		parentMap.put("tkjcp_cd", bnJutakuinfo.sendMessageString(CommonInfoCFConst.TKJCOMP_CD_59, X31CWebConst.DATABEAN_GET_VALUE));
		// 提携住宅会社名
		parentMap.put("tkjcp_nm", bnJutakuinfo.sendMessageString(CommonInfoCFConst.TKJCOMP_NM_59, X31CWebConst.DATABEAN_GET_VALUE));
		// 提携住宅会社支店・営業所名
		parentMap.put("tkjcp_stnegs_nm", bnJutakuinfo.sendMessageString(CommonInfoCFConst.TKJCOMP_SHITENOFC_NM_59, X31CWebConst.DATABEAN_GET_VALUE));
		// 提携住宅会社担当者名
		parentMap.put("tkjcptts_nm", bnJutakuinfo.sendMessageString(CommonInfoCFConst.TKJCOMP_TNTSHA_NM_59, X31CWebConst.DATABEAN_GET_VALUE));
		// 提携住宅会社担当者職種名
		parentMap.put("tkjcptts_shksnm", bnJutakuinfo.sendMessageString(CommonInfoCFConst.TKJCOMP_TNTSHA_SS_59, X31CWebConst.DATABEAN_GET_VALUE));
		// 提携住宅会社担当者電話番号
		parentMap.put("tkjcptts_tln", bnJutakuinfo.sendMessageString(CommonInfoCFConst.TKJCOMP_TNTSHA_TELNO_59, X31CWebConst.DATABEAN_GET_VALUE));
		// 分譲地名メモ
		parentMap.put("bunjochi_nm", bnJutakuinfo.sendMessageString(CommonInfoCFConst.BUNJOCHI_NM_59, X31CWebConst.DATABEAN_GET_VALUE));
		// 分譲地区各番号メモ
		parentMap.put("bunjochi_kkk_no_memo", bnJutakuinfo.sendMessageString(CommonInfoCFConst.KUKAKU_NO_59, X31CWebConst.DATABEAN_GET_VALUE));
		// 入居予定時期
		parentMap.put("nyukyo_rsv_jk", bnJutakuinfo.sendMessageString(CommonInfoCFConst.NYUKYO_RSV_JIKI_59, X31CWebConst.DATABEAN_GET_VALUE));
		// 電気同時申込意思有無
		parentMap.put("eoelec_doji_mskm_ishi_um", bnWebinfo.sendMessageString(CommonInfoCFConst.EOELEC_DOJI_MSKM_ISHI_UM_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 定額サービス申込機器
		parentMap.put("tegak_svc_mskm_kiki", bnWebinfo.sendMessageString(CommonInfoCFConst.TEGAK_SVC_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.販売タイプが（量販)または（訪販)
		if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.HNBAI_TYPE_RYOHAN)
				|| bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.HNBAI_TYPE_HOHAN))
		{
			// 共有フォームBean.申込区分が1(新規)の場合
			if (JFUStrConst.MSKM_KBN_NEW.equals(bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// SMS送信済
				if ("1".equals(bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SMS_MAIL_SEND_FLG_09, X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// 識別キー
					parentMap.put("skbt_key", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.SKBT_KEY_09, X31CWebConst.DATABEAN_GET_VALUE));
				}
			}
		}
		
		// 申込登録明細
		if (parentMap.containsKey("EKK0011D010CBSMsg1List"))
		{
			list = (ArrayList)parentMap.get("EKK0011D010CBSMsg1List");
		}
		else
		{
			list = new ArrayList();
		}

		// eo光ネット
		if (bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE).equals(SENTAKU))
		{
			srvCnt = srvCnt + 1;
		}
		// eo光テレビ
		if (bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE).equals(SENTAKU))
		{
			srvCnt = srvCnt + 1;
		}
		// eo光電話
		if (bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE).equals(SENTAKU))
		{
			srvCnt = srvCnt + 1;
		}
		// 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_NON)
				&& !bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MOBILE_COURSE_3G_UNDECIDED))
		{
			srvCnt = srvCnt + 1;
		}

		for (int i = 0; i < srvCnt; i++)
		{
			childMap = new HashMap();

			if (bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE).equals(SENTAKU)
					&& workNet.length() == 0)
			{
				// eo光ネット申込明細番号
				childMap.put("ekk0091_mskm_dtl_no", "");
				childMap.put("ekk0091_kk0021_gene_add_dtm", "");

				// TAI-2012-0000136 2012/12/29 h.iwamoto 契約新規連携項目不備対応 START

				// -----初期値を設定する-----

				// 解約書類送付希望有無
				childMap.put("dsl_aticle_sohu_kibo_um", JFUStrConst.CD00002_0);

				// オプションサービス引継有無
				childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_0);

				// -----初期値を設定する-----

				if (JFUStrConst.SVC_HKTGI_BOTH.equals(hktg))
				{
					// 併用の場合

					// 解約書類送付希望有無
					childMap.put("dsl_aticle_sohu_kibo_um", JFUStrConst.CD00002_0);

					// オプションサービス引継有無
					childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_0);
				}
				else if (JFUStrConst.SVC_HKTGI_CHANGE.equals(hktg))
				{
					// 変更の場合

					// 解約書類送付希望有無
					childMap.put("dsl_aticle_sohu_kibo_um", eoNetBean.sendMessageString(CommonInfoCFConst.DSL_SHO_SOFU_11,
							X31CWebConst.DATABEAN_GET_VALUE));

					// オプションサービス引継有無
					String opContinue = eoNetBean.sendMessageString(CommonInfoCFConst.MAIL_MYHP_CONTINUE_11, X31CWebConst.DATABEAN_GET_VALUE);
					if (JFUStrConst.EMPTY.equals(opContinue) || JFUStrConst.MAIL_MYHP_CONTINUE_NOT_KEIZOKU.equals(opContinue))
					{
						// 継続しない為、引継ぎ無しとする
						childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_0);
					}
					else if (JFUStrConst.MAIL_MYHP_CONTINUE_KEIZOKU.equals(opContinue))
					{
						// 継続する為、引継ぎ有りとする
						childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_1);
					}
				}
				// TAI-2012-0000136 2012/12/29 h.iwamoto 契約新規連携項目不備対応 END

				// 契約付加コード
				childMap.put("kei_huka_cd", JFUWebCommon.getEditMskmDtlkeiHukaCd(bl));

				workNet = "1";
			}
			else if (bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE).equals(SENTAKU)
					&& workTv.length() == 0)
			{
				// eo光テレビ申込明細番号
				childMap.put("ekk0101_mskm_dtl_no", "");
				childMap.put("ekk0101_kk0021_gene_add_dtm", "");

				// テレビコース2:KCNを選択している場合登録
				String eoTvKcnCrs = bnTvInfo.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE);
				if (JFUStrConst.TV_COURSE_KCN.equals(eoTvKcnCrs))
				{
					// KCNSTB台数
					String stbCntTxt = bnTvInfo.sendMessageString(CommonInfoCFConst.STB_CNT_13, X31CWebConst.DATABEAN_GET_VALUE);
					childMap.put("kcn_stb_mskm_cnt", stbCntTxt);

					int stbCnt = Integer.valueOf(stbCntTxt);
					String kcnStbKnd = "";
					for (int j = 0; j < stbCnt; j++)
					{
						if (j == 0)
						{
							kcnStbKnd = bnTvInfo.sendMessageString(CommonInfoCFConst.STB_HD1_KIKI_13, X31CWebConst.DATABEAN_GET_VALUE);
						}
						if (j == 1)
						{
							kcnStbKnd = kcnStbKnd + bnTvInfo.sendMessageString(CommonInfoCFConst.STB_HD2_KIKI_13, X31CWebConst.DATABEAN_GET_VALUE);
						}
						if (j == 2)
						{
							kcnStbKnd = kcnStbKnd + bnTvInfo.sendMessageString(CommonInfoCFConst.STB_HD3_KIKI_13, X31CWebConst.DATABEAN_GET_VALUE);
						}
						if (j == 3)
						{
							kcnStbKnd = kcnStbKnd + bnTvInfo.sendMessageString(CommonInfoCFConst.STB_HD4_KIKI_13, X31CWebConst.DATABEAN_GET_VALUE);
						}
						if (j == 4)
						{
							kcnStbKnd = kcnStbKnd + bnTvInfo.sendMessageString(CommonInfoCFConst.STB_HD5_KIKI_13, X31CWebConst.DATABEAN_GET_VALUE);
						}
					}
					// KCNSTB種類コード
					childMap.put("kcn_stb_kind_cd", kcnStbKnd);
				}
				workTv = "1";
				// TAI-2012-0000136 2012/12/29 h.iwamoto 契約新規連携項目不備対応 START
				// オプションサービス引継有無
				childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_0);
				// 解約書類送付希望有無
				childMap.put("dsl_aticle_sohu_kibo_um", JFUStrConst.CD00002_0);
				// TAI-2012-0000136 2012/12/29 h.iwamoto 契約新規連携項目不備対応 END

				// 契約付加コード
				childMap.put("kei_huka_cd", "");
			}
			else if (bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE).equals(SENTAKU)
					&& bnEotel[0] != null && workTel.length() == 0)
			{
				// eo光電話申込明細番号
				childMap.put("ekk0111_mskm_dtl_no", "");
				// eo光電話世代登録年月日時分秒
				childMap.put("ekk0111_kk0021_gene_add_dtm", "");
				workTel = "1";
				// TAI-2012-0000136 2012/12/29 h.iwamoto 契約新規連携項目不備対応 START
				// オプションサービス引継有無
				childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_0);
				// 解約書類送付希望有無
				childMap.put("dsl_aticle_sohu_kibo_um", JFUStrConst.CD00002_0);
				// TAI-2012-0000136 2012/12/29 h.iwamoto 契約新規連携項目不備対応 END

				// 契約付加コード
				childMap.put("kei_huka_cd", JFUWebCommon.getEditMskmDtlkeiHukaCd(bl));
			}
			else 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_NON)
					&& !bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.MOBILE_COURSE_3G_UNDECIDED))
			{
				// eoモバイル申込明細番号
				childMap.put("ekk0121_mskm_dtl_no", "");
				childMap.put("ekk0121_kk0021_gene_add_dtm", "");
				//				workMob = "1"; 2013/02/01 otsuka 未使用項目をコメントアウト
				// TAI-2012-0000136 2012/12/29 h.iwamoto 契約新規連携項目不備対応 START
				// オプションサービス引継有無
				childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_0);
				// 解約書類送付希望有無
				childMap.put("dsl_aticle_sohu_kibo_um", JFUStrConst.CD00002_0);
				// TAI-2012-0000136 2012/12/29 h.iwamoto 契約新規連携項目不備対応 END

				// 契約付加コード
				childMap.put("kei_huka_cd", "");
			}

			// 共有フォームBean.販売タイプが1（量販)
			if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.HNBAI_TYPE_RYOHAN))
			{
				// 申込形態コード
				childMap.put("mskm_form_cd", JFUStrConst.CD00591_02);
				// 新規申込種別コード
				childMap.put("new_mskm_sbt_cd", JFUStrConst.CD00683_003);
			}
			// 共有フォームBean.販売タイプが2（訪販)
			else if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.HNBAI_TYPE_HOHAN))
			{
				// 申込形態コード
				childMap.put("mskm_form_cd", JFUStrConst.CD00591_03);
				/** 2012/02/18 楠山 量販・訪販用処理 変更 START */
				// 新規申込種別コード
				childMap.put("new_mskm_sbt_cd", JFUStrConst.CD00683_003);
				/** 2012/02/18 楠山 量販・訪販用処理 変更 END */
			}
			// 共有フォームBean.販売タイプが3（提携住宅会社)
			else if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.HNBAI_TYPE_TKJCOMP))
			{
				// 申込形態コード
				childMap.put("mskm_form_cd", JFUStrConst.CD00591_06);
				// 新規申込種別コード
				childMap.put("new_mskm_sbt_cd", JFUStrConst.CD00683_001);
			}
			
			
			// 上記以外（WEB申込）
			else
			{
				// 申込形態コード
				childMap.put("mskm_form_cd", JFUStrConst.CD00591_01);
				// 新規申込種別コード
				childMap.put("new_mskm_sbt_cd", JFUStrConst.CD00683_001);
			}
			// 申込連絡先メールアドレス
			if (bnWebinfo.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.KEI_SBT_KOJINCD))
			{
				// 個人契約
				childMap.put("mskm_rrks_mlad", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE));
			}
			else if (bnWebinfo.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.KEI_SBT_HOJINCD))
			{
				// 法人契約
				childMap.put("mskm_rrks_mlad", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE));
			}
			// 申込回線サービス
			String mskm_ksn_svc = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
			// 申込マンションタイプ
			String mskm_mansion_typ = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);

			// TAI-2012-0000136 2012/12/29 h.iwamoto 契約新規連携項目不備対応 START
			//			// オプションサービス引継有無
			//			childMap.put("op_svc_hktgi_um", JFUStrConst.CD00002_0);
			//			// 解約書類送付希望有無
			//			childMap.put("dsl_aticle_sohu_kibo_um", JFUStrConst.CD00002_0);
			// TAI-2012-0000136 2012/12/29 h.iwamoto 契約新規連携項目不備対応 END
			// 新築物件コード
			childMap.put("newconst_bukken_cd", JFUStrConst.CD00480_0);
			// 復活案件フラグ
			childMap.put("hukkat_anken_flg", JFUStrConst.CD00777_0);

			// 同一設備再申込コード
			childMap.put("same_equip_re_mskm_cd", JFUStrConst.CD00485_0);
			String mskmsho_sbt_cd = ""; // 申込書種別コード
			if (mskm_ksn_svc.equals(JFUStrConst.MSKM_KSN_SVC_HOME))
			{
				mskmsho_sbt_cd = JFUStrConst.CD00752_1; // ホーム
			}
			else if (mskm_ksn_svc.equals(JFUStrConst.MSKM_KSN_SVC_MANSION) && mskm_mansion_typ.equals(JFUStrConst.MSKM_MNS_TYPE_MANSION))
			{
				mskmsho_sbt_cd = JFUStrConst.CD00752_2; // マンション
			}
			else if (mskm_ksn_svc.equals(JFUStrConst.MSKM_KSN_SVC_MANSION) && mskm_mansion_typ.equals(JFUStrConst.MSKM_MNS_TYPE_MEZON))
			{
				mskmsho_sbt_cd = JFUStrConst.CD00752_3; // メゾン
			}
			// 申込書種別コード
			childMap.put("mskmsho_sbt_cd", mskmsho_sbt_cd);

			// ----- 2012/05/11 サービスインターフェイス取込対応 h.iwamoto START -----
			// マンションID
			childMap.put("mansion_id", bnMasion.sendMessageString(CommonInfoCFConst.MANSION_ID_16, X31CWebConst.DATABEAN_GET_VALUE));
			// CAT-ID
			childMap.put("catid", bnMasion.sendMessageString(CommonInfoCFConst.CATID_16, X31CWebConst.DATABEAN_GET_VALUE));

			// 販売タイプ取得
			String hanbai_type = bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
			String mkm_uk_sbt_cd = "";
			if (JFUStrConst.HNBAI_TYPE_CON.equals(hanbai_type))
			{
				// コンシューマ(WEB)
				mkm_uk_sbt_cd = "4";
			}
			else if (JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbai_type))
			{
				// 量販
				mkm_uk_sbt_cd = "2";
			}
			else if (JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbai_type))
			{
				// 訪販
				mkm_uk_sbt_cd = "5";
			}
			else if (JFUStrConst.HNBAI_TYPE_TKJCOMP.equals(hanbai_type))
			{
				// 住宅専用ＷＥＢ
				mkm_uk_sbt_cd = "0";
			}

			// 申込受付種別コード
			childMap.put("mkm_uk_sbt_cd", mkm_uk_sbt_cd);
			// ----- 2012/05/11 サービスインターフェイス取込対応 h.iwamoto END -----

			// ホーム・メゾンの場合
			if (!mskm_mansion_typ.equals(JFUStrConst.MSKM_MNS_TYPE_MANSION))
			{
				// 契約サービス情報
				X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);
				// 選択サービス(テレビ)
				String svc_tv = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
				// 契約中サービス（ネット）
				String now_svc_net = bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
				// 契約中サービス(電話)
				String now_svc_tel = bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
				// 工事が発生する申込の場合
				if (SENTAKU.equals(svc_tv) || (!SENTAKU.equals(now_svc_net) && !SENTAKU.equals(now_svc_tel)))
				{
					// 連絡先名称
					if (bnWebinfo.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE)
							.equals(JFUStrConst.KEI_SBT_KOJINCD))
					{
						// 個人契約
						childMap.put("tsyrn_takcho_ji_rrks_nm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_ZOKUGARA_NM_09,
								X31CWebConst.DATABEAN_GET_VALUE));
					}
					else if (bnWebinfo.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.KEI_SBT_HOJINCD))
					{
						// 法人契約
						childMap.put("tsyrn_takcho_ji_rrks_nm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_NM_09,
								X31CWebConst.DATABEAN_GET_VALUE));
					}
					// 連絡先電話番号
					String rrksTln =
							bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
									+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
									+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.RRKS_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE);
					childMap.put("tsyrn_takcho_ji_rrks_tln", rrksTln);
				}
			}

			// 利用中のネット回線
			childMap.put(USE_NET_KSN, useKaisenKikiInfo.sendMessageString(CommonInfoCFConst.USE_NET_KSN_68, X31CWebConst.DATABEAN_GET_VALUE));
			// 利用中の機器の設置場所変更予定
			childMap.put(KIKI_PLACE_CHG, useKaisenKikiInfo.sendMessageString(CommonInfoCFConst.KIKI_PLACE_CHG_68, X31CWebConst.DATABEAN_GET_VALUE));
			// 宅内調査と工事の同日実施
			childMap.put(TKC_KOJI_SAME, useKaisenKikiInfo.sendMessageString(CommonInfoCFConst.TKC_KOJI_SAME_68, X31CWebConst.DATABEAN_GET_VALUE));
			// 早期開通早期連絡希望有無
			childMap.put(TSYRN_EARLY_OPEN_EARLY_RRK_KBUN_SCREEN, JFUStrConst.EMPTY);
			// 宅内調査アポ架電希望有無
			String takcho_apo_kaden_kibo_um =
					bnElseinfo.sendMessageString(CommonInfoCFConst.TAKCHO_APO_KADEN_KIBO_UM_SCREEN_18, X31CWebConst.DATABEAN_GET_VALUE);
			takcho_apo_kaden_kibo_um = JFUWebCommon.nvl(takcho_apo_kaden_kibo_um, JFUStrConst.EMPTY);
			childMap.put("takcho_apo_kaden_kibo_um", takcho_apo_kaden_kibo_um);

			list.add(childMap);
		}

		parentMap.put("EKK0011D010CBSMsg1List", list);
		outputMap.put("EKK0011D010", parentMap);

		return outputMap;
	}

	/**
	 * 申込登録の下りマッピングをする
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0011D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{

		HashMap parentMap = null;
		if (outputMap.containsKey("EKK0011D010"))
		{
			parentMap = (HashMap)outputMap.get("EKK0011D010");
		}
		else
		{
			return bean;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス情報
		X31SDataBeanAccess bnKeiyakusvcinfo = getKeiyakusvcinfo(bnWebinfo);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		// 光TV
		X31SDataBeanAccess bnEotv = getEotv(bnWebinfo);
		// モバイル
		X31SDataBeanAccess bnEomobie = getMobile(bnWebinfo);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(bnWebinfo);

		// 共有フォームBean.契約サービス情報（申込番号） ← 申込登録マップ.申込番号
		bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("mskm_no"));
		// 共有フォームBean.契約サービス情報（更新年月日時分秒（申込）← 申込登録マップ.更新年月日時分秒
		bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.UPD_DTM_MSKM_NO_10, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("upd_dtm"));

		if (!"".equals(parentMap.get("ekk0091_mskm_dtl_no")) && parentMap.get("ekk0091_mskm_dtl_no") != null
				&& parentMap.containsKey("ekk0091_mskm_dtl_no"))
		{
			// 共有フォームBean.ｅｏ光ネット
			// 申込明細番号 ← 申込登録マップ.申込明細番号
			bnEonet
					.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_11, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
							.get("ekk0091_mskm_dtl_no"));
			// 更新年月日時分秒（申込） ← 申込登録マップ.世代登録年月日時分秒(申込)
			bnEonet.sendMessageString(CommonInfoCFConst.UPD_DTM_MSKM_DTL_11, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("ekk0091_kk0021_gene_add_dtm"));
		}

		if (!"".equals(parentMap.get("ekk0111_mskm_dtl_no")) && parentMap.get("ekk0111_mskm_dtl_no") != null
				&& parentMap.containsKey("ekk0111_mskm_dtl_no"))
		{
			// 共有フォームBean.ｅｏ光電話
			int intCnt = bnEotel.length;
			for (int i = 0; i < intCnt; i++)
			{
				// 申込明細番号 ← 申込登録マップ.申込明細番号
				bnEotel[i].sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
						.get("ekk0111_mskm_dtl_no"));
				// 更新年月日時分秒（申込） ← 申込登録マップ.世代登録年月日時分秒(申込)
				bnEotel[i].sendMessageString(CommonInfoCFConst.UPD_DTM_MSKM_DTL_12, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
						.get("ekk0111_kk0021_gene_add_dtm"));
			}
		}
		if (!"".equals(parentMap.get("ekk0101_mskm_dtl_no")) && parentMap.get("ekk0101_mskm_dtl_no") != null
				&& parentMap.containsKey("ekk0101_mskm_dtl_no"))
		{
			// 共有フォームBean.ｅｏ光テレビ
			// 申込明細番号 ← 申込登録マップ.申込明細番号
			bnEotv.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_13, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("ekk0101_mskm_dtl_no"));
			// 更新年月日時分秒（申込） ← 申込登録マップ.世代登録年月日時分秒(申込)
			bnEotv.sendMessageString(CommonInfoCFConst.UPD_DTM_MSKM_DTL_13, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("ekk0101_kk0021_gene_add_dtm"));
		}
		if (!"".equals(parentMap.get("ekk0121_mskm_dtl_no")) && parentMap.get("ekk0121_mskm_dtl_no") != null
				&& parentMap.containsKey("ekk0121_mskm_dtl_no"))
		{
			// 共有フォームBean.ｅｏモバイル
			// 申込明細番号 ← 申込登録マップ.申込明細番号
			bnEomobie.sendMessageString(CommonInfoCFConst.MSKM_DTL_NO_14, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("ekk0121_mskm_dtl_no"));
			// 更新年月日時分秒（申込） ← 申込登録マップ.世代登録年月日時分秒(申込)
			bnEomobie.sendMessageString(CommonInfoCFConst.UPD_DTM_MSKM_DTL_14, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("ekk0121_kk0021_gene_add_dtm"));
		}
		return bean;
	}

	/**
	 * サービス契約＜eo光ネット＞登録上りマッピングをする
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0091D010(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>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス情報
		//【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 >>>
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);
		//【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 <<<E
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(bnWebinfo);

		// SYSID
		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// サービスコード
		parentMap.put("svc_cd", JFUStrConst.CD00130_01);
		// 申込明細番号
		parentMap.put("mskm_dtl_no", "");

		// ホームタイプ
		if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KSN_SVC_HOME))
		{
			// 料金グループコード
			parentMap.put("prc_grp_cd", JFUStrConst.CD00133_02);

			String netCourse = bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);
			// 料金コースコード
			parentMap.put("pcrs_cd", JFUWebCommon.getPcrsCdHomeNet(netCourse));
			// 料金プランコード
			parentMap.put("pplan_cd", JFUWebCommon.getPplanCdHomeNet(netCourse));
		}
		// メゾンタイプ
		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))
		{
			// 料金グループコード
			parentMap.put("prc_grp_cd", JFUStrConst.CD00133_03);

			String netCourse = bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);
			// 料金コースコード
			parentMap.put("pcrs_cd", JFUWebCommon.getPcrsCdMezonNet(netCourse));
			// 料金プランコード
			parentMap.put("pplan_cd", JFUWebCommon.getPplanCdMezonNet(netCourse));
		}
		// マンションタイプ
		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))
		{
			// 料金グループコード
			parentMap.put("prc_grp_cd", JFUStrConst.CD00133_04);
			if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_100M))
			{
				/** 2012/01/27 kusuyama change START **/
				// マンションタイプ100Ｍ
				if (bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.TK_HOSHIKI_PTN_VDSL)
						|| bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.TK_HOSHIKI_PTN_VDSLS))
				{
					// 提供方式コードがVDSL または VDSL-Sの場合
					// 2012/05/17 VDSL時の料金コースコード、料金プランコードを修正 START
					String tkHoshiki = bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
					String pcrsCd = "";
					String pplanCd = "";
					// 提供方式コードが"004"VDSL2の場合
					if (tkHoshiki.equals(JFUStrConst.TK_HOSHIKI_VDSL2))
					{
						pcrsCd = JFUStrConst.CD00134_A50;
						pplanCd = JFUStrConst.CD00565_PA5001;
					}
					// 提供方式コードが"005"VDSL3の場合
					else if (tkHoshiki.equals(JFUStrConst.TK_HOSHIKI_VDSL3))
					{
						pcrsCd = JFUStrConst.CD00134_A51;
						pplanCd = JFUStrConst.CD00565_PA5101;
					}
					// 提供方式コードが"006"VDSL4の場合
					else if (tkHoshiki.equals(JFUStrConst.TK_HOSHIKI_VDSL4))
					{
						pcrsCd = JFUStrConst.CD00134_A52;
						pplanCd = JFUStrConst.CD00565_PA5201;
					}
					// 提供方式コードが"007"VDSL5の場合
					else if (tkHoshiki.equals(JFUStrConst.TK_HOSHIKI_VDSL5))
					{
						pcrsCd = JFUStrConst.CD00134_A53;
						pplanCd = JFUStrConst.CD00565_PA5301;
					}
					// 料金コースコード
					parentMap.put("pcrs_cd", pcrsCd);
					// 料金プランコード
					parentMap.put("pplan_cd", pplanCd);
					// 2012/05/17 VDSL時の料金コースコード、料金プランコードを修正 END
				}
				else if (bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.TK_HOSHIKI_PTN_ENET)
						|| bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.TK_HOSHIKI_PTN_GG_ENET))
				{
					// 提供方式コードがイーサネットの場合
					parentMap.put("pcrs_cd", JFUStrConst.CD00134_A54);
					// 料金プランコード
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PA5401);
				}
				else if (bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN))
				{
					// 提供方式コードが光回線の場合
					parentMap.put("pcrs_cd", JFUStrConst.CD00134_A56);
					// 料金プランコード
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PA5601);
				}
				/** 2012/01/27 kusuyama change END **/
			}
			else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_1G))
			{
				/** 2012/01/27 kusuyama change START **/
				// マンションタイプ1ギガ
				if (bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.TK_HOSHIKI_PTN_ENET)
						|| bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.TK_HOSHIKI_PTN_GG_ENET))
				{
					// 提供方式コードがギガイーサの場合
					parentMap.put("pcrs_cd", JFUStrConst.CD00134_A55);
					// 料金プランコード
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PA5501);
				}
				/** 2012/01/27 kusuyama change END **/
				// 光配線１ギガ
				else if (bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN))
				{
					parentMap.put("pcrs_cd", JFUStrConst.CD00134_A57);
					// 料金プランコード
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PA5701);
				}
			}
			else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_10G))
			{
				if (bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN))
				{
					// 光配線１０ギガ
					parentMap.put("pcrs_cd", JFUStrConst.CD00134_A74);
					// 料金プランコード
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PA7401);
				}
			}
			else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.NET_COURSE_100M_LIGHT))
			{
				/**
				 * 100Mライトの場合
				 */

				String tkHoshiki = bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

				if (tkHoshiki.equals(JFUStrConst.TK_HOSHIKI_HIKARI_HAISEN))
				{
					/**
					 * 光配線の場合
					 */
					// 料金コースコード
					parentMap.put("pcrs_cd", JFUStrConst.CD00134_A56);
					// 料金プランコード
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PA5611);
				}
			}
			// 2012/11/06 IT1-2012-0001983 Y.Saitou ADD-START
			// マンション識別コード
			parentMap.put("mans_skbt_cd", JFUStrConst.CD00002_1);
			// 2012/11/06 IT1-2012-0001983 Y.Saitou ADD-END
		}

		// 提供方式契約番号
		// マンションタイプの場合、設定される
		parentMap.put("tk_hoshiki_kei_no", getTkHoshikiKeiNo(bnWebinfo, bnMansioninfo, ""));
		// 共有フォームBean.サービス開始希望日 → サービス利用開始希望年月日
		parentMap.put("svc_use_sta_kibo_ymd", bnEonet.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// 支払い方法継続フラグ
		parentMap.put("payway_keizoku_flg", getPaywayKeizokuFlg(bnWebinfo));
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(bnWebinfo));
		// 課金開始年月日補正有無
		parentMap.put("chrg_sta_ymd_hosei_um", CHRG_STA_YMD_HOSEI_UM_0);
		// 紹介コード
		parentMap.put("intr_cd", bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE));
		// 自動照査処理状態コード
		parentMap.put("auto_shosa_tran_stat_cd", JFUStrConst.CD00628_0);
		// PCパック有無
		parentMap.put("pc_pack_um", "0");
		// 固定IPアドレス引継ぎ有無
		parentMap.put("kotei_ip_ad_hktgi_um", "0");
		// 自動適用要否 2012.2.8 有効に変更
		// 事務手数料自動適用要否
		// parentMap.put("rule0059_auto_aply", AUTO_APLY_YH_MK);
		parentMap.put("rule0059_auto_aply", JFUStrConst.JMTE_AUTO_APLY_YH_YK);
		// 工事費自動適用要否
		parentMap.put("rule0079_auto_aply", JFUStrConst.CD00001_0);

		//【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 >>>
		// 機器提供種別コード
		// モデムプラン
		String modem_plan = bnEonet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_GET_VALUE);
		// レンタル
		parentMap.put("kktk_sbt_cd", ""); //初期値
		// モデムプランのみ設定
		if (bnEonet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_GET_VALUE).length() != 0)
		{
			// モデム買取プラン選択以外は、レンタル
			if (JFUStrConst.MODEM_PLAN_KAITORI.equals(modem_plan))
			{
				// 買取
				parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_01);
			}
			else
			{
				// レンタル
				parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
			}
		}
		//【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 <<<E

		//【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 >>>
		// サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", bnKeiService.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,
				X31CWebConst.DATABEAN_GET_VALUE));
		//【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 <<<E

		parentMap.put("fp_mskm", bnEonet.sendMessageString(CommonInfoCFConst.FP_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE));

// ANK-4427-00-00 ADD START
		// typeNの場合
		if(JFUWebCommon.isTypen(bean[0]))
		{
			// 工事希望年月日１
			parentMap.put("wao_koji_kibo_ymd_1", bnWebinfo.sendMessageString(CommonInfoCFConst.KOJI_KIBO_YMD1_06, X31CWebConst.DATABEAN_GET_VALUE));
			// 工事希望時間帯１
			parentMap.put("wao_koji_kibo_timez_1", bnWebinfo.sendMessageString(CommonInfoCFConst.KOJI_KIBO_TIMEZ1_06, X31CWebConst.DATABEAN_GET_VALUE));
			// 工事希望年月日２
			parentMap.put("wao_koji_kibo_ymd_2", bnWebinfo.sendMessageString(CommonInfoCFConst.KOJI_KIBO_YMD2_06, X31CWebConst.DATABEAN_GET_VALUE));
			// 工事希望時間帯２
			parentMap.put("wao_koji_kibo_timez_2", bnWebinfo.sendMessageString(CommonInfoCFConst.KOJI_KIBO_TIMEZ2_06, X31CWebConst.DATABEAN_GET_VALUE));
			// 工事希望年月日３
			parentMap.put("wao_koji_kibo_ymd_3", bnWebinfo.sendMessageString(CommonInfoCFConst.KOJI_KIBO_YMD3_06, X31CWebConst.DATABEAN_GET_VALUE));
			// 工事希望時間帯３
			parentMap.put("wao_koji_kibo_timez_3", bnWebinfo.sendMessageString(CommonInfoCFConst.KOJI_KIBO_TIMEZ3_06, X31CWebConst.DATABEAN_GET_VALUE));
			// FUW00911「現在利用中のＮＴＴ光ネットサービス」
			String tenyoDiv = bnWebinfo.sendMessageString(CommonInfoCFConst.NOW_USE_NTT_NET_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
			// FUW00911で「新規」を選択した場合
			if(TENYO_DIV_SINKI.equals(tenyoDiv))
			{
				// 転用区分[新規]を設定
				parentMap.put("wao_tenyo_div", JFUStrConst.CD01845_01);
			}
			// FUW00911で「フレッツ光を利用中（転用）」を選択した場合
			else if(TENYO_DIV_TENYO.equals(tenyoDiv))
			{
				// 転用承諾番号を取得
				String tenyoSyodakuNo = bnWebinfo.sendMessageString(CommonInfoCFConst.TENYO_SHODAKU_NO_06, X31CWebConst.DATABEAN_GET_VALUE);
				
				// 有効期限を取得
				String ykKigen = getSdNoYkKigen(bean,tenyoSyodakuNo, opeDate);
				
				// 転用区分[フレッツ光利用中（転用）]を設定
				parentMap.put("wao_tenyo_div", JFUStrConst.CD01845_02);
				// 転用承諾番号を設定
				parentMap.put("wao_tenyo_shodaku_no", tenyoSyodakuNo);
				// 有効期限を設定
				parentMap.put("wao_yk_kigen", ykKigen);
				
			}
			// FUW00911で「コラボ光を利用中（事業者変更）」を選択した場合
			else if(TENYO_DIV_JIGYOSYA.equals(tenyoDiv))
			{
				// 事業者変更承諾番号を取得
				String jigyoshaSyodakuNo = bnWebinfo.sendMessageString(CommonInfoCFConst.JIGYOSHA_SHODAKU_NO_06, X31CWebConst.DATABEAN_GET_VALUE);
				
				// 有効期限を取得
				String ykKigen = getSdNoYkKigen(bean,jigyoshaSyodakuNo, opeDate);
				
				// 転用区分[コラボ光利用中（事業者変更）]を設定
				parentMap.put("wao_tenyo_div", JFUStrConst.CD01845_03);
				// 事業者変更承諾番号を設定
				parentMap.put("wao_tenyo_shodaku_no", jigyoshaSyodakuNo);
				// 有効期限を設定
				parentMap.put("wao_yk_kigen", ykKigen);
			}
			// 番地未確定時の補足情報
			parentMap.put("wao_ad_bnchi_memo", bnWebinfo.sendMessageString(CommonInfoCFConst.AD_BNCHI_MEMO_06, X31CWebConst.DATABEAN_GET_VALUE));
		}
// ANK-4427-00-00 ADD START

		outputMap.put("EKK0091D010", parentMap);

		return outputMap;
	}

	/**
	 * サービス契約＜eo光ネット＞登録下りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0091D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("EKK0091D010"))
		{
			parentMap = (HashMap)outputMap.get("EKK0091D010");
		}
		else
		{
			return bean;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);

		// 共有フォームBean.ｅｏ光ネット.サービス契約番号 ← サービス契約＜eo光ネット＞マップ.svc_kei_no(サービス契約番号)
		bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_no"));
		// 共有フォームBean.ｅｏ光ネット.世代登録年月日時分秒（サービス契約）← サービス契約＜eo光ネット＞マップ.世代登録年月日時分秒
		bnEonet.sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SVC_KEI_11, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("gene_add_dtm"));
		// 共有フォームBean.ｅｏ光ネット.更新年月日時分秒（サービス契約）← サービス契約＜eo光ネット＞.更新年月日時分秒
		bnEonet.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_11, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("upd_dtm"));

		// No544 2013/03/28 Otsuka start
		// 料金グループコード
		bnEonet.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_11, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("prc_grp_cd"));
		// 料金コースコード
		bnEonet.sendMessageString(CommonInfoCFConst.PCRS_CD_11, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pcrs_cd"));
		// 料金プランコード
		bnEonet.sendMessageString(CommonInfoCFConst.PPLAN_CD_11, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pplan_cd"));
		// No544 2013/03/28 Otsuka end

		return bean;
	}

	/**
	 * サービス契約＜eo光TV＞登録マップの上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0101D010(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);

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光TV
		X31SDataBeanAccess bnEotv = getEotv(bnWebinfo);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(bnWebinfo);

		// SYSID
		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// サービスコード
		parentMap.put("svc_cd", JFUStrConst.CD00130_03);

		// 申込明細番号
		parentMap.put("mskm_dtl_no", "");

		// 共有フォームBean.テレビコースが1:eo光テレビ(KCAT)の場合
		if (bnEotv.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.TV_COURSE_KCAT))
		{
			// 料金グループコード
			parentMap.put("prc_grp_cd", JFUStrConst.CD00133_11);
			if (JFUStrConst.EO_TV_COURSE_BS.equals(bnEotv.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE))
					|| JFUStrConst.EO_TV_COURSE_BS_STAR.equals(bnEotv.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				// 地デジＢＳ
				// 料金コースコード
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_A37);
				// 料金プランコード
				parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3701);
			}
			else if (bnEotv.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.EO_TV_COURSE_BASIC))
			{
				// ＨＤ
				// 料金コースコード
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_A39);
				// 料金プランコード
				parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3901);
			}
// ANK-4592-00-00 ADD START
			else if (bnEotv.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.EO_TV_COURSE_CS_PRE))
			{
				// CSプレミアム
				// 料金コースコード
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_AC1);
				// 料金プランコード
				parentMap.put("pplan_cd", JFUStrConst.CD00565_PAC101);
			}
			else if (bnEotv.sendMessageString(CommonInfoCFConst.EO_TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.EO_TV_COURSE_CS_BAS))
			{
				// CSベーシック
				// 料金コースコード
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_AC0);
				// 料金プランコード
				parentMap.put("pplan_cd", JFUStrConst.CD00565_PAC001);
			}
// ANK-4592-00-00 ADD END
		}
		// 共有フォームBean.テレビコースが2:eo光テレビ(KCN)の場合
		else if (bnEotv.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.TV_COURSE_KCN))
		{
			// 料金グループコード
			parentMap.put("prc_grp_cd", JFUStrConst.CD00133_12);
			// 料金コースコード A25　ＫＣＮeo光テレビ（役務提供）
			parentMap.put("pcrs_cd", JFUStrConst.CD00134_A25);
			// 料金プランコード
			parentMap.put("pplan_cd", JFUStrConst.CD00565_PA2501);
		}
		// No236 Otsuka 2013/02/07 削除

		// 提供方式契約番号
		// マンションタイプの場合、設定される
		parentMap.put("tk_hoshiki_kei_no", getTkHoshikiKeiNo(bnWebinfo, bnMansioninfo, SENTAKU));
		// 支払い方法継続フラグ
		parentMap.put("payway_keizoku_flg", getPaywayKeizokuFlg(bnWebinfo));
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(bnWebinfo));
		// 紹介コード
		parentMap.put("intr_cd", bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE));
		// 自動照査処理状態コード
		parentMap.put("auto_shosa_tran_stat_cd", JFUStrConst.CD00628_0);
		// 自動適用要否 2012.2.8 有効に変更
		// parentMap.put("rule0059_auto_aply", AUTO_APLY_YH_MK);
		parentMap.put("rule0059_auto_aply", JFUStrConst.JMTE_AUTO_APLY_YH_YK);
		// 工事費自動適用要否
		parentMap.put("rule0079_auto_aply", JFUStrConst.CD00001_0);
		// IT2-2012-0000234 2012/03/13 h.iwamoto START
		// 光NET
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		// 共有フォームBean.サービス開始希望日 → サービス利用開始希望年月日
		parentMap.put("svc_use_sta_kibo_ymd", bnEonet.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// IT2-2012-0000234 2012/03/13 h.iwamoto END

		outputMap.put("EKK0101D010", parentMap);

		return outputMap;
	}

	/**
	 * サービス契約＜eo光TV＞登録マップの下りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0101D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("EKK0101D010"))
		{
			parentMap = (HashMap)outputMap.get("EKK0101D010");
		}
		else
		{
			return bean;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光TV
		X31SDataBeanAccess bnEotv = getEotv(bnWebinfo);

		// 共有フォームＢｅａｎ.ｅｏ光テレビ サービス契約番号 ← サービス契約＜eo光TV＞マップ.サービス契約番号
		bnEotv.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_no"));
		// 共有フォームＢｅａｎ.ｅｏ光テレビ 世代登録年月日時分秒（サービス契約）←サービス契約＜eo光TV＞マップ.世代登録年月日時分秒
		bnEotv.sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SVC_KEI_13, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("gene_add_dtm"));
		// 共有フォームＢｅａｎ.ｅｏ光テレビ 更新年月日時分秒（サービス契約）←サービス契約＜eo光TV＞マップ.更新年月日時分秒
		bnEotv.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_13, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("upd_dtm"));

		// No544 2013/03/28 Otsuka start
		// 料金グループコード
		bnEotv.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_13, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("prc_grp_cd"));
		// 料金コースコード
		bnEotv.sendMessageString(CommonInfoCFConst.PCRS_CD_13, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pcrs_cd"));
		// 料金プランコード
		bnEotv.sendMessageString(CommonInfoCFConst.PPLAN_CD_13, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pplan_cd"));
		// No544 2013/03/28 Otsuka end

		return bean;
	}

	/**
	 * サービス契約＜eo光電話＞登録マップの上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0111D010(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);

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(bnWebinfo);
		//【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 >>>
		// 契約サービス情報
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);
		//【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 <<<E

		// SYSID
		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// サービスコード
		parentMap.put("svc_cd", JFUStrConst.CD00130_02);
		// 申込明細番号
		parentMap.put("mskm_dtl_no", "");
		// 料金グループコード
		parentMap.put("prc_grp_cd", JFUStrConst.CD00133_10);

		// 共有フォームBean.電話コースが1:1番号サービスの場合
		if (bnWebinfo.sendMessageString(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE) != null)
		{
			if (bnWebinfo.sendMessageString(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.TEL_COURSE_1BANGOU_SVC))
			{
				// 1番号コース
				// 料金コースコード
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_A31);

				if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MSKM_KSN_SVC_MANSION))
				{
					/**
					 * マンション
					 */
					if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.MSKM_MNS_TYPE_MANSION))
					{
						/**
						 * マンション
						 */
						if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(bnMansioninfo.sendMessageString(
								CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE))) // IT1-2012-0001766 OTsuka Chenge 2012/11/02
						{
							/**
							 * 光配線
							 */
							// 料金プランコード
							parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3104);
						}
						else
						{
							/**
							 * 光配線以外
							 */
							// 料金プランコード
							parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3102);
						}
						// 2013/03/18 Fujiwara Add Start
						// マンション識別コード
						parentMap.put("mans_skbt_cd", JFUStrConst.CD00002_1);
						// 2013/03/18 Fujiwara Add End

					}
					else
					{
						/**
						 * メゾン
						 */
						// 料金プランコード
						parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3103);
					}
				}
				else
				{
					/**
					 * ホーム
					 */
					// 料金プランコード
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3101);
				}
			}
			// 共有フォームBean.電話コースが2:2番号サービスの場合
			else if (bnWebinfo.sendMessageString(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.TEL_COURSE_2BANGOU_SVC))
			{
				// 2番号コース
				// 料金コースコード
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_A32);
				if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MSKM_KSN_SVC_MANSION))
				{
					/**
					 * マンション
					 */
					if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.MSKM_MNS_TYPE_MANSION))
					{
						/**
						 * マンション
						 */
						if (JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN.equals(bnMansioninfo.sendMessageString(
								CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE)))// IT1-2012-0001766 OTsuka Chenge 2012/11/02
						{
							/**
							 * 光配線
							 */
							// 料金プランコード
							parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3204);
						}
						else
						{
							/**
							 * 光配線以外
							 */
							// 料金プランコード
							parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3202);
						}
						// 2013/03/18 Fujiwara Add Start
						// マンション識別コード
						parentMap.put("mans_skbt_cd", JFUStrConst.CD00002_1);
						// 2013/03/18 Fujiwara Add End
					}
					else
					{
						/**
						 * メゾン
						 */
						// 料金プランコード
						parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3203);
					}
				}
				else
				{
					/**
					 * ホーム
					 */
					// 料金プランコード
					parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3201);
				}
			}
		}
		// 提供方式契約番号
		// マンションタイプの場合、設定される
		parentMap.put("tk_hoshiki_kei_no", getTkHoshikiKeiNo(bnWebinfo, bnMansioninfo, ""));
		// 支払い方法継続フラグ
		parentMap.put("payway_keizoku_flg", getPaywayKeizokuFlg(bnWebinfo));
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(bnWebinfo));
		// 紹介コード
		parentMap.put("intr_cd", bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE));
		// 自動照査処理状態コード
		parentMap.put("auto_shosa_tran_stat_cd", JFUStrConst.CD00628_0);

		// 自動適用要否 2012.2.8 有効に変更
		// 事務手数料自動適用要否
		// parentMap.put("rule0059_auto_aply", AUTO_APLY_YH_MK);
		parentMap.put("rule0059_auto_aply", JFUStrConst.JMTE_AUTO_APLY_YH_YK);
		// 工事費自動適用要否
		parentMap.put("rule0079_auto_aply", JFUStrConst.CD00001_0);
		// IT2-2012-0000234 2012/03/13 h.iwamoto START
		// 光NET
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		// 共有フォームBean.サービス開始希望日 → サービス利用開始希望年月日
		parentMap.put("svc_use_sta_kibo_ymd", bnEonet.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// IT2-2012-0000234 2012/03/13 h.iwamoto END

		//【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 >>>
		// 機器提供種別コード
		parentMap.put("kktk_sbt_cd", ""); //初期値
		// マンション提供方式コード（VDSL、VDSL-S）以外セットしない
		// 提供方式パターンコード
		String teikyo_hoshiki = bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

		if ((teikyo_hoshiki.equals(JFUStrConst.TK_HOSHIKI_PTN_VDSL) || teikyo_hoshiki.equals(JFUStrConst.TK_HOSHIKI_PTN_VDSLS)))
		{
			// 選択サービス（ネット）
			String netSel = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
			if (SENTAKU.equals(netSel))
			{
				//ネットが同時に選択されている場合は、モデムプランより値を判定
				// モデムプラン
				String modem_plan = bnEonet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_GET_VALUE);
				// モデムプランのみ設定
				if (bnEonet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_GET_VALUE).length() != 0)
				{
					// モデム買取プラン選択以外は、レンタル
					if (JFUStrConst.MODEM_PLAN_KAITORI.equals(modem_plan))
					{
						// 買取
						parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_01);
					}
					else
					{
						// レンタル
						parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
					}
				}
			}
			else
			{
				//ネットが同時に選択されていない場合は、サービス追加以外の場合のみ値を設定

				// その他情報
				X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);
				String kaisen_select = bnElseinfo.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_GET_VALUE);
				// サービス追加の以外の場合に値をセット
				if (!JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisen_select))
				{
					// レンタル
					parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
				}
			}
		}
		//【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 <<<E

		//【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 >>>
		// サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", bnKeiService.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,
				X31CWebConst.DATABEAN_GET_VALUE));
		//【ST2-2013-0001613】I/F(EKK0091D010,EKK0111D010)変更対応 <<<E

		outputMap.put("EKK0111D010", parentMap);

		return outputMap;
	}

	/**
	 * サービス契約＜eo光電話＞登録マップの下りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0111D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(bnWebinfo);

		HashMap parentMap = null;
		if (outputMap.containsKey("EKK0111D010"))
		{
			parentMap = (HashMap)outputMap.get("EKK0111D010");
		}
		else
		{
			return bean;
		}

		int intCnt = bnEotel.length;
		for (int i = 0; i < intCnt; i++)
		{
			// 共有フォームＢｅａｎ.光電話 サービス契約番号 ← サービス契約＜eo光TV＞マップ.サービス契約番号
			bnEotel[i].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_no"));
			// 共有フォームＢｅａｎ.光電話 世代登録年月日時分秒（サービス契約）←サービス契約＜eo光TV＞マップ.世代登録年月日時分秒)
			bnEotel[i].sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("gene_add_dtm"));
			// 共有フォームＢｅａｎ.光電話 更新年月日時分秒（サービス契約） ←サービス契約＜eo光TV＞マップ.更新年月日時分秒
			bnEotel[i].sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("upd_dtm"));

			// No544 2013/03/28 Otsuka start
			// 料金グループコード
			bnEotel[i].sendMessageString(CommonInfoCFConst.PRC_GRP_CD_12, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("prc_grp_cd"));
			// 料金コースコード
			bnEotel[i].sendMessageString(CommonInfoCFConst.PCRS_CD_12, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pcrs_cd"));
			// 料金プランコード
			bnEotel[i].sendMessageString(CommonInfoCFConst.PPLAN_CD_12, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pplan_cd"));
			// No544 2013/03/28 Otsuka end
		}

		return bean;
	}

	/**
	 * サービス契約＜ｅｏモバイル＞登録マップの上りマッピングをする
	 * 
	 * @param bean[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0121D010(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>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// マンション情報
		//		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(bnWebinfo);
		// モバイル
		X31SDataBeanAccess bnEomobie = getMobile(bnWebinfo);
		// 光ネット
		//		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);

		// SYSID
		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// サービスコード（ 01（インターネットサービス））
		parentMap.put("svc_cd", JFUStrConst.CD00130_01);
		// 料金グループコード(共有フォームBean.モバイルコースにより設定）
		//1: WiFiの場合
		if (bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MOBILE_COURSE_WIFI))
		{
			// 料金グループコード
			parentMap.put("prc_grp_cd", JFUStrConst.CD00133_07);
			// 料金コースコード
			parentMap.put("pcrs_cd", JFUStrConst.CD00134_A30);
			// 料金プランコード
			parentMap.put("pplan_cd", JFUStrConst.CD00565_PA3001);
			// 5: WiMAXの場合
		}
		else if (bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
				JFUStrConst.MOBILE_COURSE_WIMAX))
		{
			// 料金グループコード
			parentMap.put("prc_grp_cd", JFUStrConst.CD00133_09);
			// 料金コースコード
			if (bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.WIMAXROM_BLACK))
			{
				// 黒ロム
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_A28);
				// 料金プランコード
				parentMap.put("pplan_cd", JFUStrConst.CD00565_PA2801);
			}
			else if (bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.WIMAXROM_WHITE))
			{
				// 白ロム
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_A29);
				// 料金プランコード
				parentMap.put("pplan_cd", JFUStrConst.CD00565_PA2902);
			}
		}
		else
		{
			// 3: 3G 7.2M
			if (bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_3G_7_2M))
			{
				// 料金グループコード
				parentMap.put("prc_grp_cd", JFUStrConst.CD00133_08);
				// 料金コースコード
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_A26);
				// 料金プランコード
				parentMap.put("pplan_cd", JFUStrConst.CD00565_PA2601);
			}
			// 4: 3G 21M
			if (bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_3G_21M))
			{
				// 料金グループコード
				parentMap.put("prc_grp_cd", JFUStrConst.CD00133_08);
				// 料金コースコード
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_A27);
				// 料金プランコード
				parentMap.put("pplan_cd", JFUStrConst.CD00565_PA2701);
			}
			// 6: 3G 光ハイブリッド
			if (bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_3G_HHB))
			{
				// 料金グループコード 08
				parentMap.put("prc_grp_cd", JFUStrConst.CD00133_08);
				// 料金コースコード A59
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_A59);
				// 料金プランコード PA5901
				parentMap.put("pplan_cd", JFUStrConst.CD00565_PA5901);
			}
			// 7:3g 21M 光ハイブリッド
			if (bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_3G_21M_HHB)) // IT1-2012-0001111 2012/10/05 h.iwamoto
			{
				// 料金グループコード 08
				parentMap.put("prc_grp_cd", JFUStrConst.CD00133_08);
				// 料金コースコード A60
				parentMap.put("pcrs_cd", JFUStrConst.CD00134_A60);
				// 料金プランコード PA6001
				parentMap.put("pplan_cd", JFUStrConst.CD00565_PA6001);
			}
		}

		//No318 Otsuka 2013/01/26 モバイルの場合は提供方式契約番号と希望日はいらない
		//		// 提供方式契約番号
		//		// マンションタイプの場合、設定される
		//		parentMap.put("tk_hoshiki_kei_no", getTkHoshikiKeiNo(bnWebinfo, bnMansioninfo, ""));
		//		// サービス利用開始希望年月日
		//		parentMap.put("svc_use_sta_kibo_ymd", bnEonet.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// 予約適用開始希望年月日
		parentMap.put("rsv_tsta_kibo_ymd", "");
		// ID速報書出力要否
		parentMap.put("id_sokhosho_output_yh", "");
		// 支払い方法継続フラグ
		parentMap.put("payway_keizoku_flg", getPaywayKeizokuFlg(bnWebinfo));

		// 異動区分
		parentMap.put("ido_div", getIdoKbn(bnWebinfo));
		// 紹介コード
		parentMap.put("intr_cd", bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE));
		// 自動照査処理状態コード
		parentMap.put("auto_shosa_tran_stat_cd", JFUStrConst.CD00628_0);
		/* 2012/10/29 Y.Saitou IT1-2012-0001116 DEL-START */
		//		// 
		//		parentMap.put("session_cnt", "1");
		/* 2012/10/29 Y.Saitou IT1-2012-0001116 DEL-END */
		// MACアドレス
		parentMap.put("macad", bnEomobie.sendMessageString(CommonInfoCFConst.MAC_ADDRESS_14, X31CWebConst.DATABEAN_GET_VALUE));
		// 事務手数料自動適用要否 2012.2.8 有効に変更
		// parentMap.put("rule0059_auto_aply", AUTO_APLY_YH_MK);
		parentMap.put("rule0059_auto_aply", JFUStrConst.JMTE_AUTO_APLY_YH_YK);

		outputMap.put("EKK0121D010", parentMap);

		return outputMap;
	}

	/**
	 * サービス契約＜eoモバイル＞登録マップの下りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param bean
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0121D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("EKK0121D010"))
		{
			parentMap = (HashMap)outputMap.get("EKK0121D010");
		}
		else
		{
			return bean;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);

		// 共有フォームBean.eoモバイル.サービス契約番号 ← サービス契約＜eoモバイル＞マップ.svc_kei_no(サービス契約番号)
		bnMobile.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_14, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_no"));
		// 共有フォームBean.eoモバイル.世代登録年月日時分秒（サービス契約） ← サービス契約＜eoモバイル＞.世代登録年月日時分秒
		bnMobile.sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SVC_KEI_14, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("gene_add_dtm"));
		// 共有フォームBean.eoモバイル.更新年月日時分秒（サービス契約） ← サービス契約＜eoモバイル＞.更新年月日時分秒
		bnMobile.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_14, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("upd_dtm"));

		// No544 2013/03/28 Otsuka start
		// 料金グループコード
		bnMobile.sendMessageString(CommonInfoCFConst.PRC_GRP_CD_14, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("prc_grp_cd"));
		// 料金コースコード
		bnMobile.sendMessageString(CommonInfoCFConst.PCRS_CD_14, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pcrs_cd"));
		// 料金プランコード
		bnMobile.sendMessageString(CommonInfoCFConst.PPLAN_CD_14, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("pplan_cd"));
		// No544 2013/03/28 Otsuka end

		return bean;
	}

	/**
	 * サービス契約内訳＜eo光ネット＞登録マップの上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0171D010(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 bnEonet = getEonet(bnWebinfo);
		// マンション情報
		//		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);

		// childMapの初期化
		parentMap = new HashMap();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// サービスコード
		parentMap.put("svc_cd", JFUStrConst.CD00130_01);
		// 申込明細番号
		parentMap.put("mskm_dtl_no", "");
		// 提供方式契約番号
		// マンションタイプの場合、設定される
		// IT2-2012-0001737 2012/11/21 k.hashimoto START
		//parentMap.put("tk_hoshiki_kei_no", getTkHoshikiKeiNo(bnWebinfo, bnMansioninfo, ""));
		// IT2-2012-0001737 2012/11/21 k.hashimoto END

		// 支払い方法継続フラグ
		parentMap.put("payway_keizoku_flg", getPaywayKeizokuFlg(bnWebinfo));
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(bnWebinfo));
		// 提供帯域コード
		// 100Mコース
		if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_100M))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_01);
		}
		// 200Mコース
		else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_200M))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_02);
		}
		// 1Gコース
		else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_1G))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_03);
		}
		// 100Mライトコース
		else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE)
				.equals(JFUStrConst.NET_COURSE_100M_LIGHT))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_01); /* 2012/10/29 Y.Saitou IT1-2012-0001620 MOD */
		}
		// 5Gコース
		else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_5G))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_04);
		}
		// 10Gコース
		else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_10G))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_04);
		}
		// 1Gコース Netflixパック
		else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_1G_NF))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_03);
		}
		// 5Gコース Netflixパック
		else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_5G_NF))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_04);
		}
		// 10Gコース Netflixパック
		else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_10G_NF))
		{
			parentMap.put("tk_taiiki_cd", JFUStrConst.CD00893_04);
		}

		outputMap.put("EKK0171D010", parentMap);

		return outputMap;
	}

	/**
	 * サービス契約内訳＜eo光ネット＞登録マップの下りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0171D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		if (outputMap.containsKey("EKK0171D010"))
		{
			parentMap = (HashMap)outputMap.get("EKK0171D010");
		}
		else
		{
			return bean;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);

		// 共有フォームBean.サービス契約内訳番号 ← サービス契約内訳＜eo光ネット＞登録マップ.サービス契約内訳番号
		bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_11, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_ucwk_no"));
		// 共有フォームBean.更新年月日時分秒（サービス契約内訳）← サービス契約内訳＜eo光ネット＞登録マップ.世代登録年月日時分秒(サービス契約内訳)
		bnEonet.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_UCWK_11, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
				.get("kk0161_gene_add_dtm"));

		return bean;
	}

	/**
	 * サービス契約内訳＜eo光TV＞登録マップの上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0181D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		HashMap childMap = null;
		int tvTunCnt = 0; // TVチューナ台数
		//		int dtlCnt = 0; // 明細数
		ArrayList list = null; // TVチューナ用リスト

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光TV
		X31SDataBeanAccess bnEotv = getEotv(bnWebinfo);
		// マンション情報
		//		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);

		// テレビコース2:KCNの場合は処理終了
		if (JFUStrConst.TV_COURSE_KCN.equals(bnEotv.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// No375 2013/02/07 Otsuka start サービスの中にプレミアムが存在する場合、それを1番最初に持ってくる。(値段が変わるため)

		// TVチューナ台数
		if (bnEotv.sendMessageString(CommonInfoCFConst.STB_CNT_13, X31CWebConst.DATABEAN_GET_VALUE).length() > 0)
		{
			// TVチューナ台数
			tvTunCnt = Integer.parseInt(bnEotv.sendMessageString(CommonInfoCFConst.STB_CNT_13, X31CWebConst.DATABEAN_GET_VALUE));

			// 申込回線サービス
			String mskmKsnSvc = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
			// 申込マンションタイプ
			String mskmMnstype = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);

			list = new ArrayList();

			ArrayList<String> tvList = new ArrayList<String>();

			for (int i = 0; i < tvTunCnt; i++)
			{
				// リストに追加する。
				tvList.add(bnEotv.sendMessageString(getStbHd(i), X31CWebConst.DATABEAN_GET_VALUE));
			}

			// リスト内の最上位コースより
			// 表示する料金が異なるため、最上位コースをリストの0番目に設定する
			if(tvList.size() > 1){
				// テレビリストが2台以上存在する場合

				// スマートプレミアムコースがはじめから何台目に存在するかを調べる。
				int preCnt = tvList.indexOf(JFUStrConst.STB_SM_PREMIUM);

				// スマートベーシックコースがはじめから何台目に存在するかを調べる。
				int basCnt = tvList.indexOf(JFUStrConst.STB_SM_BASIC);

				// スマートコンパクトコースがはじめから何台目に存在するかを調べる。
				int comCnt = tvList.indexOf(JFUStrConst.STB_SM_COMPACT);

				if (preCnt > 0)
				{
					// スマートプレミアムがリスト内の先頭以外に存在する場合
					// 1台目にスマートプレミアムコースを設定します。
					tvList.set(0,JFUStrConst.STB_SM_PREMIUM);

					if (basCnt == 0)
					{
						tvList.set(preCnt, JFUStrConst.STB_SM_BASIC);
					}
					else if (comCnt == 0)
					{
						tvList.set(preCnt, JFUStrConst.STB_SM_COMPACT);
					}
				}
				else if (preCnt == -1 && basCnt > 0)
				{
					// リスト内の最上位コースがスマートベーシックで且つ先頭以外に存在する場合
					// 1台目にスマートベーシックコースを設定します。
					tvList.set(0, JFUStrConst.STB_SM_BASIC);

					if (comCnt == 0)
					{
						// スマートコンパクトコースを設定します。
						tvList.set(basCnt, JFUStrConst.STB_SM_COMPACT);
					}
				}
			}

			// 料金コースコード
			HashMap mapPcrsCd = new HashMap();
			// 料金プランコード　ホーム
			HashMap mapPplanCdHome = new HashMap();
			// 料金プランコード　マンション
			HashMap mapPplanCdMansion = new HashMap();
			// 料金プランコード　メゾン
			HashMap mapPplanCdMezon = new HashMap();
			// 料金プランコード　ホーム　追加
			HashMap mapPplanCdHomeAd = new HashMap();
			// 料金プランコード　マンション　追加
			HashMap mapPplanCdMansionAd = new HashMap();
			// 料金プランコード　メゾン　追加
			HashMap mapPplanCdMezonAd = new HashMap();

			// 料金コースコード
			mapPcrsCd.put(JFUStrConst.STB_HD_BASIC, JFUStrConst.CD00134_A40);
			mapPcrsCd.put(JFUStrConst.STB_HD_PREMIUM, JFUStrConst.CD00134_A41);
			mapPcrsCd.put(JFUStrConst.STB_SM_COMPACT, JFUStrConst.CD00134_A85);
			mapPcrsCd.put(JFUStrConst.STB_SM_BASIC, JFUStrConst.CD00134_A86);
			mapPcrsCd.put(JFUStrConst.STB_SM_PREMIUM, JFUStrConst.CD00134_A87);
			// 料金プランコード　ホーム
			mapPplanCdHome.put(JFUStrConst.STB_HD_BASIC, JFUStrConst.CD00565_PA4001);
			mapPplanCdHome.put(JFUStrConst.STB_HD_PREMIUM, JFUStrConst.CD00565_PA4101);
			mapPplanCdHome.put(JFUStrConst.STB_SM_COMPACT, JFUStrConst.CD00565_PA8501);
			mapPplanCdHome.put(JFUStrConst.STB_SM_BASIC, JFUStrConst.CD00565_PA8601);
			mapPplanCdHome.put(JFUStrConst.STB_SM_PREMIUM, JFUStrConst.CD00565_PA8701);
			// 料金プランコード　ホーム　追加
			mapPplanCdHomeAd.put(JFUStrConst.STB_HD_BASIC, JFUStrConst.CD00565_PA4002);
			mapPplanCdHomeAd.put(JFUStrConst.STB_HD_PREMIUM, JFUStrConst.CD00565_PA4102);
			mapPplanCdHomeAd.put(JFUStrConst.STB_SM_COMPACT, JFUStrConst.CD00565_PA8502);
			mapPplanCdHomeAd.put(JFUStrConst.STB_SM_BASIC, JFUStrConst.CD00565_PA8602);
			mapPplanCdHomeAd.put(JFUStrConst.STB_SM_PREMIUM, JFUStrConst.CD00565_PA8702);
			// 料金プランコード　マンション
			mapPplanCdMansion.put(JFUStrConst.STB_HD_BASIC, JFUStrConst.CD00565_PA4003);
			mapPplanCdMansion.put(JFUStrConst.STB_HD_PREMIUM, JFUStrConst.CD00565_PA4103);
			mapPplanCdMansion.put(JFUStrConst.STB_SM_COMPACT, JFUStrConst.CD00565_PA8503);
			mapPplanCdMansion.put(JFUStrConst.STB_SM_BASIC, JFUStrConst.CD00565_PA8603);
			mapPplanCdMansion.put(JFUStrConst.STB_SM_PREMIUM, JFUStrConst.CD00565_PA8703);
			// 料金プランコード　マンション　追加
			mapPplanCdMansionAd.put(JFUStrConst.STB_HD_BASIC, JFUStrConst.CD00565_PA4004);
			mapPplanCdMansionAd.put(JFUStrConst.STB_HD_PREMIUM, JFUStrConst.CD00565_PA4104);
			mapPplanCdMansionAd.put(JFUStrConst.STB_SM_COMPACT, JFUStrConst.CD00565_PA8504);
			mapPplanCdMansionAd.put(JFUStrConst.STB_SM_BASIC, JFUStrConst.CD00565_PA8604);
			mapPplanCdMansionAd.put(JFUStrConst.STB_SM_PREMIUM, JFUStrConst.CD00565_PA8704);
			// 料金プランコード　メゾン
			mapPplanCdMezon.put(JFUStrConst.STB_HD_BASIC, JFUStrConst.CD00565_PA4005);
			mapPplanCdMezon.put(JFUStrConst.STB_HD_PREMIUM, JFUStrConst.CD00565_PA4105);
			mapPplanCdMezon.put(JFUStrConst.STB_SM_COMPACT, JFUStrConst.CD00565_PA8505);
			mapPplanCdMezon.put(JFUStrConst.STB_SM_BASIC, JFUStrConst.CD00565_PA8605);
			mapPplanCdMezon.put(JFUStrConst.STB_SM_PREMIUM, JFUStrConst.CD00565_PA8705);
			// 料金プランコード　メゾン　追加
			mapPplanCdMezonAd.put(JFUStrConst.STB_HD_BASIC, JFUStrConst.CD00565_PA4006);
			mapPplanCdMezonAd.put(JFUStrConst.STB_HD_PREMIUM, JFUStrConst.CD00565_PA4106);
			mapPplanCdMezonAd.put(JFUStrConst.STB_SM_COMPACT, JFUStrConst.CD00565_PA8506);
			mapPplanCdMezonAd.put(JFUStrConst.STB_SM_BASIC, JFUStrConst.CD00565_PA8606);
			mapPplanCdMezonAd.put(JFUStrConst.STB_SM_PREMIUM, JFUStrConst.CD00565_PA8706);

			for (int i = 0; i < tvTunCnt; i++)
			{
				// childMapの初期化
				childMap = new HashMap();

				// 共通情報のマッピング
				childMap.put("func_code", func_code);
				// SYSID
				childMap.put("sysid", "");
				// サービスコード
				childMap.put("svc_cd", JFUStrConst.CD00130_03);
				// 機器提供サービスコード STB
				childMap.put("kktk_svc_cd", JFUStrConst.CD00132_C009);
				
				// 料金コースコード
				childMap.put("pcrs_cd", mapPcrsCd.get(tvList.get(i)));

				// 1台目の場合
				if (i == 0)
				{
					// ホームタイプの場合
					if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskmKsnSvc))
					{
						// 料金プランコード
						childMap.put("pplan_cd", mapPplanCdHome.get(tvList.get(i))); // ホーム
					}
					// マンションタイプの場合
					else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskmKsnSvc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnstype))
					{
						// 料金プランコード
						childMap.put("pplan_cd", mapPplanCdMansion.get(tvList.get(i))); // マンション
					}
					// メゾンタイプの場合
					else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskmKsnSvc) && JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(mskmMnstype))
					{
						// 料金プランコード
						childMap.put("pplan_cd", mapPplanCdMezon.get(tvList.get(i))); // メゾン
					}
				}
				else
				// 2〜5台目の場合
				{
					// ホームタイプの場合
					if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(mskmKsnSvc))
					{
						// 料金プランコード
						childMap.put("pplan_cd", mapPplanCdHomeAd.get(tvList.get(i))); // 追加　ホーム
					}
					// マンションタイプの場合
					else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskmKsnSvc) && JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnstype))
					{
						// 料金プランコード
						childMap.put("pplan_cd", mapPplanCdMansionAd.get(tvList.get(i))); // 追加　マンション
					}
					// メゾンタイプの場合
					else if (JFUStrConst.MSKM_KSN_SVC_MANSION.equals(mskmKsnSvc) && JFUStrConst.MSKM_MNS_TYPE_MEZON.equals(mskmMnstype))
					{
						// 料金プランコード
						childMap.put("pplan_cd", mapPplanCdMezonAd.get(tvList.get(i))); // 追加　メゾン
					}
				}

				// 提供方式契約番号
				// マンションタイプの場合、設定される
				// IT2-2012-0001737 2012/11/21 k.hashimoto START
				// childMap.put("tk_hoshiki_kei_no", getTkHoshikiKeiNo(bnWebinfo, bnMansioninfo, SENTAKU));
				// IT2-2012-0001737 2012/11/21 k.hashimoto END

				// No375 2013/02/07 Otsuka end

				// 支払い方法継続フラグ
				childMap.put("payway_keizoku_flg", getPaywayKeizokuFlg(bnWebinfo));

				// 異動区分
				childMap.put("ido_div", getIdoKbn(bnWebinfo));

				list.add(childMap);
			}
		}

		parentMap.put("EKK0181D010List", list);
		outputMap.put("EKK0181D010", parentMap);

		return outputMap;
	}

	/**
	 * サービス契約内訳＜eo光TV＞登録マップの下りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0181D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap childMap = null;
		int cntAry = 0;
		String wrkSvcKeiUcwkNo = "";
		String wrkGeneAddDtm = "";

		HashMap parentMap = null;
		if (outputMap.containsKey("EKK0181D010"))
		{
			parentMap = (HashMap)outputMap.get("EKK0181D010");
		}

		if (parentMap == null)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光TV
		X31SDataBeanAccess bnEotv = getEotv(bnWebinfo);

		cntAry = ((ArrayList)parentMap.get("EKK0181D010List")).size();
		for (int index = 0; index < cntAry; index++)
		{
			childMap = (HashMap)((ArrayList)parentMap.get("EKK0181D010List")).get(index);

			// サービス契約内訳番号
			if (wrkSvcKeiUcwkNo.length() > 0)
			{
				wrkSvcKeiUcwkNo = wrkSvcKeiUcwkNo + ",";
			}
			wrkSvcKeiUcwkNo = wrkSvcKeiUcwkNo + (String)childMap.get("svc_kei_ucwk_no");

			// 更新年月日時分秒
			if (wrkGeneAddDtm.length() > 0)
			{
				wrkGeneAddDtm = wrkGeneAddDtm + ",";
			}
			wrkGeneAddDtm = wrkGeneAddDtm + (String)childMap.get("upd_dtm");
		}

		// 共有フォームBean.サービス契約内訳番号 ← サービス契約内訳＜eo光TV＞登録マップ.サービス契約内訳番号
		bnEotv.sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_13, X31CWebConst.DATABEAN_SET_VALUE, wrkSvcKeiUcwkNo);
		// 共有フォームBean.更新年月日時分秒（サービス契約内訳） ←サービス契約内訳＜eo光TV＞登録マップ.更新年月日時分秒
		bnEotv.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_UCWK_13, X31CWebConst.DATABEAN_SET_VALUE, wrkGeneAddDtm);

		return bean;
	}

	/**
	 * サービス契約内訳＜eo光電話＞登録マップの上りマッピング処理です。
	 * <br>
	 * @param bean [0]：共有フォームビーン,[1]：入力内容確認
	 * @param outputMap アウトマップ
	 * @param func_code 機能コード
	 * @return HashMap マッピング結果
	 * @throws Exception 例外
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0191D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		ArrayList list = null;
		HashMap childMap = null;

		// ST2-2012-0000606 2012/4/2 s.oono START
		String telno_jun = "";
		// ST2-2012-0000606 2012/4/2 s.oono END

		// 電話番号配列数
		int telArray = 0;

		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]);

		// ST1-2013-0000487 2013/03/21 Otsuka start
		// 利用場所情報
		X31SDataBeanAccess riyobasho_infobean = getRiyobasyoinfo(bnWebinfo);
		// 契約者情報
		X31SDataBeanAccess keyakusya_infobean = getKeiyakuinfo(bnWebinfo);

		String emg_bnpname = "";
		String emg_familyname = "";
		String emg_firstname = "";
		String emg_familyname_kana = "";
		String emg_firstname_kana = "";

		// 契約種別
		String keiSbt = bnWebinfo.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);
		// ST1-2013-0000487 2013/03/21 Otsuka end

		if (bnWebinfo.sendMessageString(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE) == null)
		{
			return null;
		}
		telArray = Integer.parseInt(bnWebinfo.sendMessageString(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(bnWebinfo);

		list = new ArrayList();

		for (int i = 0; i < telArray; i++)
		{
			// childMapの初期化
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put("func_code", func_code);

			// 異動区分
			childMap.put("ido_div", getIdoKbn(bnWebinfo));

			childMap.put("telno", "");
			//　2012.5.20 障害対応 END

			// ST1-2013-0000487 2013/03/21 Otsuka 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);

			if (keiSbt.equals(JFUStrConst.KEI_SBT_KOJINCD))
			{
				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);
			}
			else if (keiSbt.equals(JFUStrConst.KEI_SBT_HOJINCD))
			{
				String hojinnm = keyakusya_infobean.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_GET_VALUE);//2013.03.01 ohmura
				childMap.put("emg_ksh_nm", hojinnm);
			}

			String emg_ksh_kana = "";
			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);

				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(keyakusya_infobean.sendMessageString(CommonInfoCFConst.HOJINKN_09,
								X31CWebConst.DATABEAN_GET_VALUE));
			}
			childMap.put("emg_ksh_kana", emg_ksh_kana);

			// 【内部障害】緊急通報先住所補記・建物名、緊急通報先住所補記・部屋番号対応
			// 利用場所情報.建物名
			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);
			}

			// ST1-2013-0000487 2013/03/21 Otsuka end
			/** 2012/02/18 楠山 量販・訪販用処理 変更 START */
			if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.HNBAI_TYPE_RYOHAN)
					|| bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.HNBAI_TYPE_HOHAN))
			{
				childMap.put("emg_ksh_ksitei_flg", JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "EMG_KSH_KSITEI_FLG_0"));
			}
			else
			{
				childMap.put("emg_ksh_ksitei_flg", JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "EMG_KSH_KSITEI_FLG_0"));
			}
			/** 2012/02/18 楠山 量販・訪販用処理 変更 START */

			// ST2-2012-0000606 2012/4/2 s.oono START
			// 電話番号順番（契約内訳）
			//childMap.put("telno_jun", "");
			telno_jun = String.valueOf(i + 1);
			childMap.put("telno_jun", telno_jun);
			// ST2-2012-0000606 2012/4/2 s.oono END
			// NTT番号案内有無（契約内訳）
			childMap.put("ntt_no_guide_um", JFUStrConst.CD00002_0);
			// ハローページ掲載有無（契約内訳）
			childMap.put("hellopage_keisai_um", JFUStrConst.CD00002_0);
			// 通話明細公開要否（契約内訳）
			childMap.put("tuwa_dtl_kokai_yh", "");
			// 通信事業者コード（契約内訳）
			childMap.put("tsjgs_cd", bnEotel[i].sendMessageString(CommonInfoCFConst.BMP_TEL_SVCTK_JGS_12, X31CWebConst.DATABEAN_GET_VALUE));
			// 手動切替予定年月日時分秒（契約内訳）
			childMap.put("man_switch_rsv_dtm", "");
			// 番ポ有無
			childMap.put("bmp_um", bnEotel[i].sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE));
			// ----- PCON課題No.2012-0000003 2012/06/18 h.iwamoto START -----
			// 事務手数料自動適用要否
			childMap.put("rule0059_auto_aply", JFUStrConst.JMTE_AUTO_APLY_YH_YK);
			// ----- PCON課題No.2012-0000003 2012/06/18 h.iwamoto END -----
			// ----- ST2-2012-0001542 2012/08/16 h.ikeda START -----
			// No407 Otsuka 2013/02/18 start
			// VAポート番号 2番号サービスの場合のみ設定
			if (telArray == 2)
			{
				childMap.put("va_port_no", telno_jun);
			}
			// No407 Otsuka 2013/02/18 end
			// ----- ST2-2012-0001542 2012/08/16 h.ikeda END -----

			// 2012.09.21 Otsuka Add Start 
			// 同番移転判定コード わからないので「未設定」をいれておきます。
			childMap.put("dobaniten_jdg_cd", JFUStrConst.CD01281_0);

			// 移転先開通後トーキ希望有無 わからないので「無」を入れておきます。
			childMap.put("itens_opaf_toki_kibo_um", JFUStrConst.CD00002_0);

			// 2012.09.21 Otsuka Add End

			// IT1-2012-0001150 2012/10/16 h.iwamoto START
			// 仮申込フラグ
			childMap.put("kari_mskm_flg", "1");
			// IT1-2012-0001150 2012/10/16 h.iwamoto END

			// 番ポ有無を取得
			String useBmp = bnEotel[i].sendMessageString(CommonInfoCFConst.USE_BMP_12, X31CWebConst.DATABEAN_GET_VALUE);
			// 同番移転申込有無
			if (JFUStrConst.USE_BMP_USE.equals(useBmp))
			{
				String bmp_ad_choice = bnEotel[i].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 = bnEotel[i].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 = bnEotel[i].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("EKK0191D010List", list);
		outputMap.put("EKK0191D010", parentMap);

		return outputMap;
	}

	/**
	 * サービス契約内訳＜eo光電話＞登録のマップ下りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0191D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		//		int telArray = 0;
		int cntAry = 0;
		HashMap parentMap = null;
		HashMap childMap = null;

		if (outputMap.containsKey("EKK0191D010"))
		{
			parentMap = (HashMap)outputMap.get("EKK0191D010");
		}
		else
		{
			return bean;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(bnWebinfo);

		cntAry = ((ArrayList)parentMap.get("EKK0191D010List")).size();
		for (int i = 0; i < cntAry; i++)
		{
			// 下りマップからデータ取得
			childMap = (HashMap)((ArrayList)parentMap.get("EKK0191D010List")).get(i);

			// 共有フォームBean.ｅｏ光電話[x].サービス契約内訳番号 ←
			// サービス契約内訳＜eo光電話＞登録マップ.サービス契約内訳番号（契約内訳）
			bnEotel[i].sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
					.get("svc_kei_ucwk_no"));
			// 共有フォームBean.ｅｏ光電話[X].更新年月日時分秒（サービス契約内訳）
			// ← サービス契約内訳＜eo光電話＞登録マップ.世代登録年月日時分秒(サービス契約内訳)（契約内訳）
			bnEotel[i].sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_UCWK_12, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
					.get("kk0161_gene_add_dtm"));
		}
		return bean;
	}

	/**
	 * サービス契約内訳＜ｅｏモバイル＞登録マップの上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0201D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		//		String pcrsCd = "";// 料金コースコード
		//		String pplanCd = "";// 料金プランコード

		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 bnEomobie = getMobile(bnWebinfo);
		// マンション情報
		//		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(bnWebinfo);

		// リスト作成
		ArrayList list = new ArrayList();
		// childMapの初期化
		HashMap childMap = new HashMap();

		// モバイルコース取得
		String mobCrs = bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
		for (int i = 0; i < mobUchMaxCnt_2; i++)
		{
			if (i == 1)
			{
				// モバイルコースWIMAX以外の場合処理終了
				if (!mobCrs.equals(JFUStrConst.MOBILE_COURSE_WIMAX))
				{
					break;
				}
			}

			// childMapの初期化
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put("func_code", func_code);

			// 1件目
			if (i == 0)
			{
				// 料金コースコード
				childMap.put("pcrs_cd", getPcrsCd(bnEomobie, bnRedirectinfo));
				// 料金プランコード
				childMap.put("pplan_cd", getPlanCdCd(bnEomobie, bnRedirectinfo));
			}

			// UQ WIMAXの場合、WIFIスポットを自動付与
			if (i == 1)
			{
				// 料金コースコードJFUStrConst.CD00134_A45
				childMap.put("pcrs_cd", JFUStrConst.CD00134_A45);
				// 料金プランコードJFUStrConst.CD00565_PA4501
				childMap.put("pplan_cd", JFUStrConst.CD00565_PA4501);
			}

			// 提供方式契約番号 マンションタイプの場合、設定される
			// IT2-2012-0001737 2012/11/21 k.hashimoto START
			// childMap.put("tk_hoshiki_kei_no", getTkHoshikiKeiNo(bnWebinfo, bnMansioninfo, ""));
			// IT2-2012-0001737 2012/11/21 k.hashimoto END
			/* 2012/10/29 Y.Saitou IT1-2012-0001132 DEL-START */
			//			// 支払い方法継続フラグ
			//			childMap.put("payway_keizoku_flg", getPaywayKeizokuFlg(bnWebinfo));
			/* 2012/10/29 Y.Saitou IT1-2012-0001132 DEL-END */
			// 異動区分
			childMap.put("ido_div", getIdoKbn(bnWebinfo));
			// スポットログインSYSID
			childMap.put("spot_login_sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
			// 提供帯域コード
			childMap.put("tk_taiiki_cd", "");
			// 事務手数料自動適用要否 2012.2.8 有効に変更
			// childMap.put("rule0059_auto_aply", AUTO_APLY_YH_MK);
			childMap.put("rule0059_auto_aply", JFUStrConst.JMTE_AUTO_APLY_YH_YK);

			list.add(childMap);
		}

		parentMap.put("EKK0201D010List", list);
		outputMap.put("EKK0201D010", parentMap);

		return outputMap;
	}

	/**
	 * サービス契約内訳＜ｅｏモバイル＞登録マップの下りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0201D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		int cntAry = 0;
		String wrkSvcKeiUcwkNo = "";
		String wrkGeneAddDtm = "";
		HashMap parentMap = null;
		HashMap childMap = null;

		if (outputMap.containsKey("EKK0201D010"))
		{
			parentMap = (HashMap)outputMap.get("EKK0201D010");
		}
		else
		{
			return bean;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光モバイル
		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);

		cntAry = ((ArrayList)parentMap.get("EKK0201D010List")).size();
		for (int index = 0; index < cntAry; index++)
		{
			childMap = (HashMap)((ArrayList)parentMap.get("EKK0201D010List")).get(index);

			// サービス契約内訳番号
			if (wrkSvcKeiUcwkNo.length() > 0)
			{
				wrkSvcKeiUcwkNo = wrkSvcKeiUcwkNo + ",";
			}
			wrkSvcKeiUcwkNo = wrkSvcKeiUcwkNo + (String)childMap.get("svc_kei_ucwk_no");

			// 更新年月日時分秒
			if (wrkGeneAddDtm.length() > 0)
			{
				wrkGeneAddDtm = wrkGeneAddDtm + ",";
			}
			wrkGeneAddDtm = wrkGeneAddDtm + (String)childMap.get("kk0161_gene_add_dtm");
		}

		// 共有フォームBean.サービス契約内訳番号 ← サービス契約内訳＜eo光ネット＞登録マップ.サービス契約内訳番号
		bnMobile.sendMessageString(CommonInfoCFConst.SVC_KEI_UCWK_NO_11, X31CWebConst.DATABEAN_SET_VALUE, wrkSvcKeiUcwkNo);
		// 共有フォームBean.更新年月日時分秒（サービス契約内訳） ←
		// サービス契約内訳＜eo光ネット＞登録マップ.世代登録年月日時分秒(サービス契約内訳)
		bnMobile.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_UCWK_11, X31CWebConst.DATABEAN_SET_VALUE, wrkGeneAddDtm);

		return bean;
	}

	/**
	 * サービス契約回線内訳登録上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0251D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		ArrayList list = null;
		ArrayList sublist = null;
		HashMap childMap = null;
		HashMap subMap = null;
		int ksnCnt = 0;// 回線内訳数
		int ksnMsCnt = 0;// 回線内訳明細数
		int ksnMobMsCnt = 0;// 回線内訳モバイル明細数
		String svc_net = ""; // 選択サービス(ネット)
		String svc_tel = ""; // 選択サービス(電話)
		String svc_tv = ""; // 選択サービス(テレビ)
		String svc_mob = ""; // 選択サービス(モバイル)
		String kaisen_flg = ""; // 回線場所選択
		ArrayList wrklist = null;// ワークリスト
		HashMap wrkMap = null;// ワークマップ
		String ksnCd = "";//回線コード
		String SVC_KEI_KSN_UCW_CRT_FLG = ""; // サービス契約回線内訳作成フラグ（1：作成）

		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 bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);
		// 契約サービス情報
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);
		// ＰＡＳＣＯ情報
		X31SDataBeanAccess bnPasco = getPasco(bnWebinfo);
		// 利用場所情報
		X31SDataBeanAccess bnRiyobasho = getRiyobasyoinfo(bnWebinfo);
		// モバイル情報
		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);
		// 利用場所情報
		X31SDataBeanAccess bnRiyobasyoinfo = getRiyobasyoinfo(bnWebinfo);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirect = getOtherinfo(bnWebinfo);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);

		// サービス情報取得
		// 選択サービス(ネット)
		svc_net = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(テレビ)
		svc_tv = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(電話)
		svc_tel = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 契約中サービス（ネット）
		String now_svc_net = bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 契約中サービス(テレビ)
		String now_svc_tv = bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 契約中サービス(電話)
		String now_svc_tel = bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// モバイルコース
		svc_mob = bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		wrkMap = new HashMap();
		wrklist = new ArrayList();
		// 2012.2.23 UPDATE サービス追加以外または、
		//                  サービス追加かつ契約中サービス（ネット・テレビ・電話）が未選択の場合作成 Start *****************************
		// 回線場所選択取得
		kaisen_flg = bnRedirect.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_GET_VALUE);

		// 契約中の回線に追加しないまたは、契約中の回線に追加するかつ、
		if (!JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisen_flg)
				|| (JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisen_flg) && !(SENTAKU.equals(now_svc_net) || SENTAKU.equals(now_svc_tv) || SENTAKU
						.equals(now_svc_tel))))
		{
			SVC_KEI_KSN_UCW_CRT_FLG = SVC_KEI_KSN_UCW_CRT_FLG_1;
		}
		// サービス追加以外の場合処理を行う
		if (SVC_KEI_KSN_UCW_CRT_FLG_1.equals(SVC_KEI_KSN_UCW_CRT_FLG))
		{
			// 選択サービス(ネット)又は、選択サービス(テレビ)又は、選択サービス(電話)が選択されている場合
			if (SENTAKU.equals(svc_net) || SENTAKU.equals(svc_tv) || SENTAKU.equals(svc_tel))
			{
				wrkMap.put("key", "ksnMs");
				wrklist.add(wrkMap);
				if (SENTAKU.equals(svc_net))
				{
					ksnMsCnt = ksnMsCnt + 1;
				}
				if (SENTAKU.equals(svc_tv))
				{
					ksnMsCnt = ksnMsCnt + 1;
				}
				if (SENTAKU.equals(svc_tel))
				{
					ksnMsCnt = ksnMsCnt + 1;
				}
			}
		}
		// 2012.2.23 UPDATE サービス追加以外または、
		//                  サービス追加かつ契約中サービス（ネット・テレビ・電話）が未選択の場合作成 End   *****************************

		// モバイルコースが選択されている(wifi以外)場合
		if (svc_mob.length() > 0 && !svc_mob.equals(JFUStrConst.MOBILE_COURSE_3G_UNDECIDED) && !svc_mob.equals(JFUStrConst.MOBILE_COURSE_NON)
				&& !svc_mob.equals(JFUStrConst.MOBILE_COURSE_WIFI))
		{
			ksnMobMsCnt = ksnMobMsCnt + 1;
			wrkMap = new HashMap();
			wrkMap.put("key", "ksnMobMs");
			wrklist.add(wrkMap);
		}

		// 2012.2.23 ↑移動 Start ***********
		// 回線場所選択
		//kaisen_flg = bnRedirect.sendMessageString(
		//		CommonInfoCFConst.KAISEN_SELECT_18,
		//		X31CWebConst.DATABEAN_GET_VALUE);
		// サービス追加の場合
		//if (SENTAKU.equals(kaisen_flg)) {
		//	ksnCnt = 0;
		//}
		// 2012.2.23 ↑移動 End   ***********

		list = new ArrayList();
		ksnCnt = wrklist.size();
		for (int i = 0; i < ksnCnt; i++)
		{
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put("func_code", func_code);

			HashMap inMap = (HashMap)wrklist.get(i);

			// 2013/03/06 Fujiwara Mod Start
			// 回線場所住所未確定フラグ
			childMap.put("kisn_plc_ad_mi_fix_flg", getAdMiFixFlg(bnRiyobasyoinfo));
			// 2013/03/06 Fujiwara Mod End

			// 2013/02/22 Fujiwara Mod Start
			// モバイルの以外の場合
			if (!inMap.get("key").equals("ksnMobMs"))
			{
				// 回線場所＿契約者住所差異フラグ
				childMap.put("kaisen_plc_ksh_ad_sai_flg", getKysAddSaiFlg(bnKeiyakuinfo));

				// 2013/03/06 Fujiwara Mod Start
				// お客様申告住所未確定フラグ
				childMap.put("cust_skk_ad_mi_fix_flg", getAdMiFixFlg(bnRiyobasyoinfo));
				// 2013/03/06 Fujiwara Mod End
			}
			// 2013/02/22 Fujiwara Mod End

			// 提供方式パターン
			String tkhsk = bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

			if (inMap.get("key").equals("ksnMs"))
			{
				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))
				{
					if (tkhsk.equals(JFUStrConst.TK_HOSHIKI_PTN_VDSL) || tkhsk.equals(JFUStrConst.TK_HOSHIKI_PTN_VDSLS))
					{
						// 光回線(マンションVDSL)
						ksnCd = JFUStrConst.CD00380_1002;
					}
					else if (tkhsk.equals(JFUStrConst.TK_HOSHIKI_PTN_ENET) || tkhsk.equals(JFUStrConst.TK_HOSHIKI_PTN_GG_ENET)) // No413 Otsuka 2013/02/18
					{
						// 光回線(マンションイーサネット・ギガイーサ)
						ksnCd = JFUStrConst.CD00380_1003;
					}
					else if (tkhsk.equals(JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN)) // No413 Otsuka 2013/02/18
					{
						// 光回線(マンション光配線)
						ksnCd = JFUStrConst.CD00380_1004;
					}
					// TAI-2012-0000136 2012/12/28 h.iwamoto テレビ単独提供マンション回線コード未設定対応 START
					else
					{
						// 光回線※テレビ単独マンションはネットの回線が無い為判断出来ないが、"1001"を設定するのが正しい。
						ksnCd = JFUStrConst.CD00380_1001;
					}
					// TAI-2012-0000136 2012/12/28 h.iwamoto テレビ単独提供マンション回線コード未設定対応 END
				}
				else if ((SENTAKU.equals(svc_net) || SENTAKU.equals(svc_tv) || SENTAKU.equals(svc_tel)))
				{
					// 光回線
					ksnCd = JFUStrConst.CD00380_1001;
				}
			}
			if (inMap.get("key").equals("ksnMobMs"))
			{
				if (svc_mob.length() > 0 && !svc_mob.equals(JFUStrConst.MOBILE_COURSE_3G_UNDECIDED) && !svc_mob.equals(JFUStrConst.MOBILE_COURSE_NON))
				{
					if (svc_mob.equals(JFUStrConst.MOBILE_COURSE_WIMAX))
					{
						// モバイル回線(UQWiMAX)
						ksnCd = JFUStrConst.CD00380_4003;
					}
					else if (svc_mob.equals(JFUStrConst.MOBILE_COURSE_3G_7_2M) || svc_mob.equals(JFUStrConst.MOBILE_COURSE_3G_21M)
							|| svc_mob.equals(JFUStrConst.MOBILE_COURSE_3G_HHB) || svc_mob.equals(JFUStrConst.MOBILE_COURSE_3G_21M_HHB)) // TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応
					{
						// モバイル回線(eモバイル)
						ksnCd = JFUStrConst.CD00380_4002;
					}
					else
					{
						// モバイル回線
						ksnCd = JFUStrConst.CD00380_4003;
					}
				}
			}
			// 回線コード
			childMap.put("kaisen_cd", ksnCd);

			// No.315 2013/01/26 Otsuka start
			// モバイル以外の場合はマンション物件番号を設定する
			if (!inMap.get("key").equals("ksnMobMs"))
			{
				// マンション物件番号
				childMap.put("mansion_bukken_no", bnMansioninfo.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
			}
			// No.315 2013/01/26 Otsuka end

			/* 2012/10/29 Y.Saitou IT1-2012-0001110 DEL-START */
			/** 2012/02/18 楠山 量販・訪販用処理 変更 START */
			//			// 回線場所カナ名
			//			if (bnWebinfo.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.KEI_SBT_KOJINCD))
			//			{
			//				//			if (bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09,
			//				//					X31CWebConst.DATABEAN_GET_VALUE).length() > 0
			//				//					&& bnKeiyakuinfo.sendMessageString(
			//				//							CommonInfoCFConst.KSHKN_NM_09,
			//				//							X31CWebConst.DATABEAN_GET_VALUE).length() > 0) {
			//				childMap.put("kaisen_plc_kana", JPCConvertString.convFullHiraToFullKata(bnKeiyakuinfo.sendMessageString(
			//						CommonInfoCFConst.KSHKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE)
			//						+ "　" + bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE)));
			//				//			} 
			//				//			else if (bnKeiyakuinfo.sendMessageString(
			//				//					CommonInfoCFConst.KSHKN_SEI_09,
			//				//					X31CWebConst.DATABEAN_GET_VALUE).length() > 0
			//				//					&& bnKeiyakuinfo.sendMessageString(
			//				//							CommonInfoCFConst.KSHKN_NM_09,
			//				//							X31CWebConst.DATABEAN_GET_VALUE).length() == 0) {
			//				//				childMap.put("kaisen_plc_kana", JPCConvertString
			//				//						.convFullHiraToFullKata(bnKeiyakuinfo
			//				//								.sendMessageString(
			//				//										CommonInfoCFConst.KSHKN_SEI_09,
			//				//										X31CWebConst.DATABEAN_GET_VALUE)));
			//				//			} else if (bnKeiyakuinfo.sendMessageString(
			//				//					CommonInfoCFConst.KSHKN_SEI_09,
			//				//					X31CWebConst.DATABEAN_GET_VALUE).length() == 0
			//				//					&& bnKeiyakuinfo.sendMessageString(
			//				//							CommonInfoCFConst.KSHKN_NM_09,
			//				//							X31CWebConst.DATABEAN_GET_VALUE).length() > 0) {
			//				//				childMap.put("kaisen_plc_kana", JPCConvertString
			//				//						.convFullHiraToFullKata(bnKeiyakuinfo
			//				//								.sendMessageString(
			//				//										CommonInfoCFConst.KSHKN_NM_09,
			//				//										X31CWebConst.DATABEAN_GET_VALUE)));
			//				//			} else {
			//				//				childMap.put("kaisen_plc_kana", "");
			//				//			}
			//			}
			//			else if (bnWebinfo.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.KEI_SBT_HOJINCD))
			//			{
			//				// 法人契約
			//				childMap.put("kaisen_plc_kana", JPCConvertString.convFullHiraToFullKata(bnKeiyakuinfo.sendMessageString(
			//						CommonInfoCFConst.DHSKN_SEI_09, X31CWebConst.DATABEAN_GET_VALUE)
			//						+ ZENKAKU_SPACE + bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.DHSKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE)));
			//			}
			/** 2012/02/18 楠山 量販・訪販用処理 変更 END */
			/* 2012/10/29 Y.Saitou IT1-2012-0001110 DEL-END */

			// No366 Otsuka 2013/02/28 start 
			// モバイルの場合は、契約者情報を設定する対応
			if (inMap.get("key").equals("ksnMobMs"))
			{
				// 回線場所電話番号
				childMap.put("kaisen_place_telno", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
						+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
						+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));

				// 回線場所郵便番号
				childMap.put("kaisen_place_pcd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE)
						+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 回線場所住所補記・建物名
				childMap.put("kaisen_place_adrttm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 回線場所住所補記・部屋番号
				childMap.put("kaisen_place_adrrm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));
			}
			else
			{
				// 回線場所郵便番号
				childMap.put("kaisen_place_pcd", bnRiyobasho.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE)
						+ bnRiyobasho.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE));

				// 回線場所住所補記・建物名
				childMap
						.put("kaisen_place_adrttm", bnRiyobasho.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
				// 回線場所住所補記・部屋番号
				childMap.put("kaisen_place_adrrm", bnRiyobasho.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));

				// 回線場所電話番号
				// No.614_サービス契約回線内訳の回線場所電話番号不正 >>>　bnKeiyakuinfo　⇒　bnRiyobasho　変更
				childMap.put("kaisen_place_telno", bnRiyobasho.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO1_08,
						X31CWebConst.DATABEAN_GET_VALUE)
						+ bnRiyobasho.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO2_08, X31CWebConst.DATABEAN_GET_VALUE)
						+ bnRiyobasho.sendMessageString(CommonInfoCFConst.USEPLACE_TELNO3_08, X31CWebConst.DATABEAN_GET_VALUE));
				// No.614_サービス契約回線内訳の回線場所電話番号不正 <<<E

				// ANK-3717-00-00 ADD START
				// 光化マンションフラグ
				String hikarikaMansFlg = bnMansioninfo.sendMessageString(CommonInfoCFConst.HIKARIKA_MANS_FLG_16, X31CWebConst.DATABEAN_GET_VALUE);

				// 回線場所棟情報
				if (JFUStrConst.HIKARIKA_MANS_FLG_1.equals(hikarikaMansFlg))
				{
					// 光化マンションの場合
					childMap.put("kaisen_place_tou_info", bnRiyobasho.sendMessageString(CommonInfoCFConst.USEPLACE_BILDNO_08, X31CWebConst.DATABEAN_GET_VALUE));
					// 回線場所連番（ＭＡＮＭＯＳ管理連番）
					childMap.put("kaisen_place_renban", bnMansioninfo.sendMessageString(CommonInfoCFConst.KAISEN_PLACE_RENBAN_16,
							X31CWebConst.DATABEAN_GET_VALUE));
				}
				else
				{
					// 光化マンション以外の場合(サービス契約回線内訳には登録しない)
					childMap.put("kaisen_place_tou_info", JFUStrConst.EMPTY);
					// 回線場所連番（ＭＡＮＭＯＳ管理連番）
					childMap.put("kaisen_place_renban", JFUStrConst.EMPTY);
				}
				// ANK-3717-00-00 ADD END
			}
			// No366 Otsuka 2013/02/28 end 

			// 回線場所住所確定後変更可否
			childMap.put("kisn_plc_ad_fix_af_chge_kh", JFUStrConst.CD00003_0);

			// No.330 2013/02/04 Otsuka start
			if (inMap.get("key").equals("ksnMobMs"))
			{
				// モバイルの場合、住所形態コードは05(その他)
				childMap.put("ad_form_cd", JFUStrConst.CD00627_05);
			}
			else
			{
				// No424 Otsuka 2013/03/03 start
				// 申込回線サービスがホームの場合
				if (JFUStrConst.MSKM_KSN_SVC_HOME.equals(bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06,
						X31CWebConst.DATABEAN_GET_VALUE)))
				{
					// 住所形態コード
					childMap.put("ad_form_cd", bnRiyobasho.sendMessageString(CommonInfoCFConst.SETPLACE_FORM_08, X31CWebConst.DATABEAN_GET_VALUE));
				}
				// マンション・メゾンの場合
				else
				{
					// 住所形態コードは02(アパート・マンション)固定
					childMap.put("ad_form_cd", JFUStrConst.CD00627_02);
				}
				// No424 Otsuka 2013/03/03 end
			}
			// No.330 2013/02/04 Otsuka end

			// 竣工予定年月日
			String shunko_rsv_ymd =
					bnRiyobasho.sendMessageString(CommonInfoCFConst.SHUNKO_RSV_YEAR_08, X31CWebConst.DATABEAN_GET_VALUE)
							+ bnRiyobasho.sendMessageString(CommonInfoCFConst.SHUNKO_RSV_MONTH_08, X31CWebConst.DATABEAN_GET_VALUE);
			if (shunko_rsv_ymd.length() > 0)
			{
				childMap.put("shunko_rsv_ymd", shunko_rsv_ymd + "01");
			}

			// No.315 2013/01/26 Otsuka モバイルの場合は座標などを設定しない
			// モバイルの場合は座標などを設定しない
			if (!inMap.get("key").equals("ksnMobMs"))
			{
				// X座標
				childMap.put("xzahyo", bnPasco.sendMessageString(CommonInfoCFConst.COORD6_X_07, X31CWebConst.DATABEAN_GET_VALUE));
				// Y座標
				childMap.put("yzahyo", bnPasco.sendMessageString(CommonInfoCFConst.COORD6_Y_07, X31CWebConst.DATABEAN_GET_VALUE));
				// 経度
				childMap.put("lgtd", bnPasco.sendMessageString(CommonInfoCFConst.LGTD_07, X31CWebConst.DATABEAN_GET_VALUE));
				// 緯度
				childMap.put("lttd", bnPasco.sendMessageString(CommonInfoCFConst.LTTD_07, X31CWebConst.DATABEAN_GET_VALUE));

				// 座標補正有無
				childMap.put("zahyo_hosei_um", JFUStrConst.CD00002_0);
			}
			// No.315 2013/01/26 Otsuka end

			// 回線住所コード
			childMap.put("kaisen_place_ad_cd", bnPasco.sendMessageString(CommonInfoCFConst.ADDCD_07, X31CWebConst.DATABEAN_GET_VALUE));
			// 集合住宅入居階数コード
			String shugj_nyukyo_flr_cnt_cd = bnRiyobasho.sendMessageString(CommonInfoCFConst.SETPLACE_FLR_08, X31CWebConst.DATABEAN_GET_VALUE);

			if (!"".equals(shugj_nyukyo_flr_cnt_cd))
			{
				shugj_nyukyo_flr_cnt_cd = "0" + shugj_nyukyo_flr_cnt_cd;
			}

			childMap.put("shugj_nyukyo_flr_cnt_cd", shugj_nyukyo_flr_cnt_cd);

			/* 2012/10/29 Y.Saitou IT1-2012-0001249 DEL-START */
			//			// PON種別コード
			//			if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_200M)
			//					|| bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_1G))
			//			{
			//				childMap.put("pon_sbt_cd", "2");
			//			}
			//			else
			//			{
			//				childMap.put("pon_sbt_cd", "");
			//			}
			/* 2012/10/29 Y.Saitou IT1-2012-0001249 DEL-END */

			// 2013/02/22 Fujiwara Mod Start
			// モバイル以外の場合
			if (!inMap.get("key").equals("ksnMobMs"))
			{
				/* 2012/10/29 Y.Saitou IT1-2012-0001582 ADD-START */
				// 回線場所区画整理中フラグ
				childMap.put("kisn_plc_kkk_seiri_chu_flg", "0");
				/* 2012/10/29 Y.Saitou IT1-2012-0001582 ADD-END */
			}
			// 2013/02/22 Fujiwara Mod End

			// No.331 2013/02/04 Otsuka start
			// モバイルの場合
			if (inMap.get("key").equals("ksnMobMs"))
			{

				// 2013/02/22 Fujiwara Mod Start
				String kaisenTkCompCd = "";

				// WiMaxの場合、回線提供会社コードは05(UQ-WiMAX)
				if (JFUStrConst.MOBILE_COURSE_WIMAX.equals(svc_mob))
				{
					kaisenTkCompCd = JFUStrConst.KAISEN_TK_COMP_CD_UQWIMAX;
					// WiMaxの以外の場合、回線提供会社コードは04(eモバイル)
				}
				else
				{
					kaisenTkCompCd = JFUStrConst.KAISEN_TK_COMP_CD_EMOBILE;
				}

				childMap.put("kaisen_tk_comp_cd", kaisenTkCompCd);
				// 2013/02/22 Fujiwara Mod End
			}
			else
			{
				// 回線提供会社コード
				childMap.put("kaisen_tk_comp_cd", JFUStrConst.CD00092_01);
			}
			// No.331 2013/02/04 Otsuka end

			// IT1-2012-0001544 2012/10/24 h.iwamoto START
			// ご契約者住所・契約者住所上書フラグ
			String kshadd_overwrite_flg = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHADD_OVERWRITE_FLG_09, X31CWebConst.DATABEAN_GET_VALUE);
			if (JFUStrConst.CD00002_1.equals(kshadd_overwrite_flg))
			{
				// 契約者住所変更有無を有とする
				childMap.put("kshad_chg_um", kshadd_overwrite_flg);

				// IT2-2012-0001716 2012/11/19 k.hashimoto START
				// 請求書送付先住所変更有無を有とする。
				childMap.put("sks_shs_ad_chg_um", kshadd_overwrite_flg);
				// IT2-2012-0001728 2012/11/19 k.hashimoto END
			}
			else
			{
				// 契約者住所変更有無に空を設定する
				childMap.put("kshad_chg_um", JFUStrConst.EMPTY);

				// IT2-2012-0001716 2012/11/19 k.hashimoto START
				// 請求書送付先住所変更有無を無とする。
				childMap.put("sks_shs_ad_chg_um", JFUStrConst.EMPTY);
				// IT2-2012-0001728 2012/11/19 k.hashimoto END
			}
			// IT1-2012-0001544 2012/10/24 h.iwamoto END

			// 回線対象サービス契約明細
			sublist = new ArrayList();
			// ネット、テレビ、電話
			if (inMap.get("key").equals("ksnMs"))
			{
				for (int subI = 0; subI < ksnMsCnt; subI++)
				{
					//サービス契約番号
					subMap = new HashMap();
					subMap.put("svc_kei_no", "");
					sublist.add(subMap);
				}
				// ネット、テレビ、電話のみ起点変電所コード、集約局コードを設定する。
				// 2012/6/23 IT2-2012-0000751対応 STRAT
				// 起点変電所コード
				childMap.put("kiten_hdsho_cd", bnMansioninfo.sendMessageString(CommonInfoCFConst.KITEN_HDSHO_CD_16, X31CWebConst.DATABEAN_GET_VALUE));

				// 集約局コード
				childMap.put("shyakk_cd", bnMansioninfo.sendMessageString(CommonInfoCFConst.SHYAKK_CD_16, X31CWebConst.DATABEAN_GET_VALUE));
				// 2012/6/23 IT2-2012-0000751対応 END
			}
			// モバイル
			if (inMap.get("key").equals("ksnMobMs"))
			{
				for (int subI = 0; subI < ksnMobMsCnt; subI++)
				{
					//サービス契約番号
					subMap = new HashMap();
					subMap.put("svc_kei_no", "");
					sublist.add(subMap);
				}
			}
			// 空のデータ
			if (sublist.size() == 0)
			{
				//サービス契約番号
				subMap = new HashMap();
				subMap.put("svc_kei_no", "");
				sublist.add(subMap);
			}

			// 2012.2.23 ADD Start *************************************
			// モバイル回線（ネット・電話・テレビ回線ではない）と識別する
			if (inMap.get("key").equals("ksnMobMs"))
			{
				childMap.put("mobile_ksn", MOBILE_KSN_FLG_1);
			}
			else
			{
				childMap.put("mobile_ksn", MOBILE_KSN_FLG_2);
			}
			// 2012.2.23 ADD End   *************************************

			childMap.put("EKK0251D010CBSMsg1List", sublist);
			list.add(childMap);
		}

		parentMap.put("EKK0251D010List", list);
		outputMap.put("EKK0251D010", parentMap);

		return outputMap;
	}

	/**
	 * 回線対象サービス契約登録上りマッピングをする
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0241D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		ArrayList list = null;
		HashMap childMap = null;
		int ksnCnt = 0;
		String svc_net = ""; // 選択サービス(ネット)
		String svc_tel = ""; // 選択サービス(電話)
		String svc_tv = ""; // 選択サービス(テレビ)
		//		String svc_mob = ""; // 選択サービス(モバイル)
		String kaisen_flg = ""; // 回線場所選択
		String net_flg = ""; // ネットフラグ
		String tel_flg = ""; // 電話フラグ
		String tv_flg = ""; // テレビフラグ

		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 bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);
		// 契約サービス情報
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);
		// モバイル
		//		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);

		// リダイレクト情報
		X31SDataBeanAccess bnRedirect = getOtherinfo(bnWebinfo);

		// サービス情報取得
		// 選択サービス(ネット)
		svc_net = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(テレビ)
		svc_tv = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス(電話)
		svc_tel = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// モバイルコース
		//		svc_mob = bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		// 選択サービス(ネット)又は、選択サービス(テレビ)又は、選択サービス(電話)が選択されている場合
		if (SENTAKU.equals(svc_net))
		{
			ksnCnt += 1;
			net_flg = "1";
		}
		if (SENTAKU.equals(svc_tv))
		{
			ksnCnt += 1;
			tv_flg = "1";
		}
		if (SENTAKU.equals(svc_tel))
		{
			ksnCnt += 1;
			tel_flg = "1";
		}

		// 2012.2.24 DELETE モバイルは契約回線内訳を作成 Start **
		// モバイルコースが選択されている場合
		/*if (SENTAKU.equals(svc_mob)) {
			ksnCnt = ksnCnt + 1;
		}*/
		// 2012.2.24 DELETE モバイルは契約回線内訳を作成 End   **
		// 回線場所選択
		kaisen_flg = bnRedirect.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_GET_VALUE);

		// サービス追加以外の場合
		if (!SENTAKU.equals(kaisen_flg))
		{
			ksnCnt = 0;
		}

		list = new ArrayList();

		for (int i = 0; i < ksnCnt; i++)
		{
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put("func_code", func_code);

			// サービス契約回線内訳番号
			childMap.put("svc_kei_kaisen_ucwk_no", bnKeiService.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,
					X31CWebConst.DATABEAN_GET_VALUE));

			if (SENTAKU.equals(net_flg))
			{
				childMap.put("net_flg", net_flg);
				net_flg = "";
				list.add(childMap);
				continue;

			}

			if (SENTAKU.equals(tel_flg))
			{
				childMap.put("tel_flg", tel_flg);
				tel_flg = "";
				list.add(childMap);
				continue;
			}

			if (SENTAKU.equals(tv_flg))
			{
				childMap.put("tv_flg", tv_flg);
				tv_flg = "";
				list.add(childMap);
				continue;
			}

		}

		parentMap.put("EKK0241D010List", list);
		outputMap.put("EKK0241D010", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス＜eo光ネット＞上りマッピングをする
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341D01001(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]);
		// 契約サービス
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);
		// 利用場所情報
		X31SDataBeanAccess bnRiyobasyoinfo = getRiyobasyoinfo(bnWebinfo);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);
		// 2012.2.24 ADD Start ****************************
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);
		// 2012.2.24 ADD End   ****************************

		// 2012.2.24 ADD Start ****************************
		// 提供方式パターンコード
		String teikyo_hoshiki = bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
		// モデムプラン
		String modem_plan = bnEonet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_GET_VALUE);
		// 申込区分
		//		String mskmKbn = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス（ネット）
		String netSel = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス（テレビ）
		String tvSel = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス（電話）
		String telSel = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 契約中サービス（ネット）	
		String netNow = bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 契約中サービス（電話）	now_svc_tel
		String telNow = bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 契約中サービス（テレビ）	now_svc_tv
		//		String tvNow = bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 回線場所選択
		String kaisen_select = bnElseinfo.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_GET_VALUE);
		// マンション接続機器型式コード
		String mcntkk_model_cd = bnMansioninfo.sendMessageString(CommonInfoCFConst.MCNTKK_MODEL_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

		// 2012.3.1 Add Start ***************************************
		// マンション提供方式コード（VDSL、VDSL-S）以外は処理を抜ける
		if (!(teikyo_hoshiki.equals(JFUStrConst.TK_HOSHIKI_PTN_VDSL) || teikyo_hoshiki.equals(JFUStrConst.TK_HOSHIKI_PTN_VDSLS)))
		{
			return null;
		}
		// 2012.3.1 Add End   ***************************************

		// ネット選択
		if (SENTAKU.equals(netSel))
		{
			// モデムプランでなければ処理終了
			if (bnEonet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11, X31CWebConst.DATABEAN_GET_VALUE).length() == 0)
			{
				return null;
			}

			// IT1-2013-0000715 >>>
			// 同一場所に既契約として電話が申し込まれている場合は、機器をつけない
			if (JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisen_select) && SENTAKU.equals(telNow))
			{
				return null;
			}
			// IT1-2013-0000715 <<<E
			// 電話選択
		}
		else if (SENTAKU.equals(telSel))
		{
			// IT1-2013-0000715 >>>
			// ＶＤＳＬマンションの場合、ネット非申込時にモデムレンタル機器が必要
			// 但し、同一場所の既契約にネットが存在する場合は不要（別場所は必要）

			// 同一場所に既契約としてネットが申し込まれている場合は、機器をつけない
			if (JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisen_select) && SENTAKU.equals(netNow))
			{
				return null;
			}

			//			// 2012.3.1 Dalete Start ************************************
			//			// マンション提供方式コード（VDSL、VDSL-S）
			//			//if(teikyo_hoshiki.equals(JFUStrConst.TK_HOSHIKI_PTN_VDSL)
			//			//	|| teikyo_hoshiki.equals(JFUStrConst.TK_HOSHIKI_PTN_VDSLS)){
			//			// 2012.3.1 Dalete End   ************************************
			//			// サービス追加以外（申込新規、新しい場所に回線追加）
			//			if (!JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(kaisen_select))
			//			{
			//				if (SENTAKU.equals(tvSel))
			//				{
			//					return null;
			//				}
			//				// サービス追加申込、ネット契約中もしくはテレビ選択の場合、処理終了
			//			}
			//			else
			//			{
			//				if (SENTAKU.equals(netNow) || SENTAKU.equals(tvSel))
			//				{
			//					return null;
			//				}
			//			}
			//			// 2012.3.1 Dalete Start ************************************
			//			//} else {
			//			//	return null;
			//			//}
			//			// 2012.3.1 Dalete End   ************************************

			// IT1-2013-0000715 <<<E

		}
		// テレビ選択
		else if (SENTAKU.equals(tvSel))
		{
			return null;
		}
		// 2012.2.24 ADD *****************************

		// 2012.2.24 DELETE *****************************
		// 買取・レンタルモデムプランの場合に作成
		// if (bnEonet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11,
		// 		X31CWebConst.DATABEAN_GET_VALUE).length() == 0) {
		// 	return null;
		// }
		// 2012.2.24 DELETE *****************************

		// 機器提供サービスコード
		parentMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C005);
		// 2012/12/14 井上 IT1-454 変更 *** ここから ***
		//		// 料金コースコード
		//		parentMap.put("pcrs_cd", JFUStrConst.CD00134_C06);
		//		// 料金プランコード 
		//		parentMap.put("pplan_cd", JFUStrConst.CD00565_PC0601);
		// モデム買取プラン選択以外は、レンタル
		if (JFUStrConst.MODEM_PLAN_KAITORI.equals(modem_plan))
		{
			// 料金コースコード：モデム(買取)
			parentMap.put("pcrs_cd", JFUStrConst.CD00134_C43);
			// 料金プランコード：モデム(買取) 定額プラン
			parentMap.put("pplan_cd", JFUStrConst.CD00565_PC4301);
		}
		else
		{
			// 料金コースコード：モデム(レンタル)
			parentMap.put("pcrs_cd", JFUStrConst.CD00134_C06);
			// 料金プランコード：モデム(レンタル) 定額プラン
			parentMap.put("pplan_cd", JFUStrConst.CD00565_PC0601);
		}

		// EKK0861B501(EKK0861B501_マンション検索一覧照会)で取得したマンション接続機器型式コードを設定
		parentMap.put("taknkiki_model_cd", mcntkk_model_cd);

		// 親契約識別コード
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_02);
		// 「TAI-2012-0000136-146」 2012.12.20 Nagasawa start
		// 共有フォームBean.サービス契約回線内訳番号 → サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", bnKeiService.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 「TAI-2012-0000136-146」 2012.12.20 Nagasawa end
		// 機器提供種別コード(01：買取、02：レンタル) 
		// 2012.2.24 UPDATE 電話単独仕様追加 Start *****************************************
		/*if (bnEonet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11,
				X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MODEM_PLAN_KAITORI)) {
			// 買取
			parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_01);
		} else if (bnEonet.sendMessageString(CommonInfoCFConst.MODEM_PLAN_11,
				X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MODEM_PLAN_RENT)) {
			// レンタル
			parentMap.put("kktk_sbt_cd",  JFUStrConst.CD00212_02);
		}*/
		// モデム買取プラン選択以外は、レンタル
		if (JFUStrConst.MODEM_PLAN_KAITORI.equals(modem_plan))
		{
			// 買取
			parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_01);
		}
		else
		{
			// レンタル
			parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
		}
		// 2012.2.24 UPDATE 電話単独仕様追加 Start *****************************************
//ANK-4498-00-00 MOD START
		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);


		// 共有フォームBean.サービス開始希望日 → サービス利用開始希望年月日
		parentMap.put("svc_use_sta_kibo_ymd", bnEonet.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_GET_VALUE));

		// 共有フォームBean.契約者情報.氏名（姓）+（姓）/共有フォームBean.契約者情報.法人名 → 契約者機器送付先名
		parentMap.put("kiki_sohus_nm", getKshnm(bnWebinfo, bnKeiyakuinfo));
		// 機器送付先カナ名
		parentMap.put("kiki_sohus_kana", getKshnmKna(bnWebinfo, bnKeiyakuinfo));
		//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）
		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))
		{
			// 機器送付先郵便番号
			parentMap.put("kiki_sohus_pcd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先住所補記・建物名
			parentMap.put("kiki_sohus_adrttm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先住所補記・部屋番号
			parentMap.put("kiki_sohus_adrrm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));

			// 機器送付先電話番号
			parentMap.put("kiki_sohus_telno", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先＿契約者住所差異フラグ
			parentMap.put("kiki_sohus_ksh_ad_sai_flg",JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0);
			//ホーム・メゾンの申し込みとマンションの契約中回線へのサービス追加申込の場合
		}else{
			// 機器送付先郵便番号
			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));
		}
//ANK-4498-00-00 MOD END
		// マンション物件番号
		parentMap.put("mansion_bukken_no", bnMansioninfo.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
		// 2012/11/02 IT1-2012-0001784 Y.Saitou DEL
		// 機器設置先名
		//parentMap.put("kiki_stc_saki_nm", getKshnm(bnWebinfo, bnKeiyakuinfo));

		// 2012/11/02 IT1-2012-0001783 yamashita DEL
		// 機器設置先カナ名
		//parentMap.put("kiki_stc_saki_kana", getKshnmKna(bnWebinfo, bnKeiyakuinfo));
		// 機器設置先郵便番号
		parentMap.put("kiki_stc_saki_pcd", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器設置先住所補記・建物名
		parentMap.put("kiki_stc_saki_adrttm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器設置先住所補記・部屋番号
		parentMap.put("kiki_stc_saki_adrrm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器設置先＿契約者住所差異フラグ
		parentMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(bnKeiyakuinfo));
		// 機器設置先電話番号
		parentMap.put("kiki_stc_sk_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("ido_div", getIdoKbn(bnWebinfo));
		// SYSID
		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 販売種別コード
		parentMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
		// 配送区分
		parentMap.put("haiso_div", JFUStrConst.CD00020_00);
		// 機器送付先住所手動入力フラグ
		parentMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0); // 2013/01/25 No.311 Otsuka 

		// ↓↓■2011/10/15 機器IF項目追加対応■↓↓
		// 機器引当指定倉庫コード("000001")
		parentMap.put("kiki_hkat_shitei_soko_cd", "000001");
		// 機器引当指定倉庫棚コード("000")
		parentMap.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 */

		// 住所未確定フラグ
		parentMap.put("ad_mi_fix_flg", getAdMiFixFlg(bnRiyobasyoinfo));

		// ↓↓■2012/02/23 IT2障害対応_IT2-2011-0000175■↓↓
		// 宅内機器種別コード("60")
		parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_60);
		// ↑↑■2012/02/23 IT2障害対応_IT2-2011-0000175■↑↑

		// ↑↑■2011/10/15 機器IF項目追加対応■↑↑
		/** 2012/01/28 kusuyama ADD START **/
		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		/** 2012/01/28 kusuyama ADD END **/

		/** 2012/02/20 ADD START **/
		// 機器送付先個別指定フラグ
		parentMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		/** 2012/02/20 ADD END **/
//ANK-4498-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))
		{
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）
			parentMap.put("MSKM_MNS_TYPE",bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));
		}
		//ANK-4498-00-00 MOD END
		outputMap.put("EKK0341D010Net", parentMap);

		return outputMap;
	}

	/**
	 * 機器オプションサービス契約一覧照会(フロント)の上りマッピングをします。
	 *
	 * <br>
	 * @param bean 
	 * @param outputMap
	 * @param func_code
	 * @return HashMap
	 */
	@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 bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// SYSID
		parentMap.put("key_sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス契約回線内訳番号
		parentMap.put("key_svc_kei_kaisen_ucwk_no", bnKeiService.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("mskmKbn", bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 加入契約申込条件コード
		parentMap.put("knykeiMskmJokenCd", bnMansioninfo.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE));
		// 選択サービス（ネット）
		parentMap.put("selectSvcNet", bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE));
		// 選択サービス（電話）
		parentMap.put("selectSvcTel", bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE));
		// 多機能ルーター(無線ルーター機能)
		parentMap.put("musenRouter", bnEonet.sendMessageString(CommonInfoCFConst.TKN_ROUTER_MUSEN_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE));
		// 多機能ルーター(有線ルーター機能)
		parentMap.put("yusenRouter",  bnEonet.sendMessageString(CommonInfoCFConst.TKN_ROUTER_YUSEN_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE));

		// 全戸一括ファミパ対応
		String famipaMskmUm = bnEonet.sendMessageString(CommonInfoCFConst.FP_MSKM_11, X31CWebConst.DATABEAN_GET_VALUE);
		String knykeiMskmJokenCd = bnMansioninfo.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
		// 販売タイプ
		String hanbai_type = bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		if(JFUStrConst.FP_MSKM_MSKM.equals(famipaMskmUm) && JFUStrConst.KNYKEI_MSKM_JOKEN_IKT.equals(knykeiMskmJokenCd)
			&& JFUStrConst.HNBAI_TYPE_CON.equals(hanbai_type))
		{
			// 無線ルーター機能を申し込んでいることにする
			// 多機能ルーター(無線ルーター機能)
			parentMap.put("musenRouter", JFUStrConst.TKN_ROUTER_MUSEN_MSKM_MSKM);
			// 多機能ルーター(有線ルーター機能)
			parentMap.put("yusenRouter", JFUStrConst.TKN_ROUTER_YUSEN_NOT_MSKM);
		}
// ANK-3596-00-00 ADD START
		parentMap.put("hanbaiType", hanbai_type);
// ANK-3596-00-00 ADD END
		outputMap.put("EKK2811B503", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス契約一覧照会の上りマッピングをします。
	 *
	 * <br>
	 * @param bean 
	 * @param outputMap
	 * @return HashMap
	 */
	@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 bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約番号
		parentMap.put("key_svc_kei_no", bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE));
		//契約中サービス(ネット)
		parentMap.put("nowSvcNet", bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0341B002", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス契約キャンセルの上りマッピングをします。
	 *
	 * <br>
	 * @param bean 
	 * @param outputMap
	 * @param func_code
	 * @return HashMap
	 */
	@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 bnWebinfo = 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(bnWebinfo));

		outputMap.put("EKK0341C330", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス契約一覧照会の上りマッピングをします。
	 *
	 * <br>
	 * @param bean 
	 * @param outputMap
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341B504(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// サービス契約回線内訳番号
		parentMap.put("key_svc_kei_kaisen_ucwk_no", bnKeiService.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,
				X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0341B504", parentMap);

		return outputMap;
	}


	/**
	 * 機器提供サービス＜eo光電話＞の上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return bean
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341D01002(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;
		//		int kkCnt = 0;

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);
		// 契約サービス
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);
		// 利用場所情報
		X31SDataBeanAccess bnRiyobasyoinfo = getRiyobasyoinfo(bnWebinfo);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);
		// 契約サービス情報
		//		X31SDataBeanAccess bnKeiyakusvcinfo = getKeiyakusvcinfo(bnWebinfo);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 電話コース取得
		String telNoSvc = bnWebinfo.sendMessageString(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 2013/03/08 IT1-2013-0000384対応 Fujiwara Mod Start
//		// 販売タイプ
//		String hanbaiType = bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
//		// 申込回線サービス
//		String mskmKsnSvc = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 2013/03/08 IT1-2013-0000384対応 Fujiwara Mod End

		//		kkCnt = 1; // 機器数(光電話用ＶＡ)

		// 申込区分
		//		String mskmKbn = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス（ネット）
		//		String netSel = bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 選択サービス（テレビ）
		//		String tvSel = bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);

		// 2012.2.24 DELETE setEKK0341D01001へ移動 Start ************
		// 契約中サービス（ネット）	
		//String netNow = bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10,
		//		X31CWebConst.DATABEAN_GET_VALUE);
		// 契約中サービス（電話）	now_svc_tel
		//String telNow = bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10,
		//		X31CWebConst.DATABEAN_GET_VALUE);
		// 契約中サービス（テレビ）	now_svc_tv
		//String tvNow = bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.NOW_SVC_TV_10,
		//		X31CWebConst.DATABEAN_GET_VALUE);

		// 提供方式コード
		//String teikyo_hoshiki = bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_16,
		//		X31CWebConst.DATABEAN_GET_VALUE);

		// マンション提供方式コード（VDSL、VDSL-S）
		/*if(teikyo_hoshiki.equals(JFUStrConst.TK_HOSHIKI_PTN_VDSL)
			|| teikyo_hoshiki.equals(JFUStrConst.TK_HOSHIKI_PTN_VDSLS)){
			// 新規申込の場合
			if(mskmKbn.equals(JFUStrConst.MSKM_KBN_NEW)){
				// 電話単独
				if(!netSel.equals(SENTAKU) && !tvSel.equals(SENTAKU)){
					kkCnt=2; // 機器数（モデム）
				}
			// 追加申込の場合
			} else if(mskmKbn.equals(JFUStrConst.MSKM_KBN_ADD)){
				if(netNow.equals(MISENTAKU) && telNow.equals(MISENTAKU)){
					kkCnt=2; // 機器数（モデム）
				}
			}
		}*/
		// 2012.2.24 DELETE setEKK0341D01001へ移動 End ************
		list = new ArrayList();

		// for文削除　2013/01/25 Otsuka

		childMap = new HashMap();

		// 共通情報のマッピング
		childMap.put("func_code", func_code);

		// 機器提供サービスコード(eo光多機能ルーター)
		childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C024);

		// 1番号サービス
		if (telNoSvc.equals(JFUStrConst.TEL_COURSE_1BANGOU_SVC))
		{
			// →料金コースコード C04（VA１ポート)
			childMap.put("pcrs_cd", JFUStrConst.CD00134_C94);
			// →料金プランコード PC0401（VA1ポート 定額プラン )
			childMap.put("pplan_cd", JFUStrConst.CD00565_PC9401);

		}
		// 2番号サービス
		else if (telNoSvc.equals(JFUStrConst.TEL_COURSE_2BANGOU_SVC))
		{
			// →料金コースコード C05（VA２ポート)
			childMap.put("pcrs_cd", JFUStrConst.CD00134_C94);
			// →料金プランコード PC0501（VA2ポート 定額プラン )
			childMap.put("pplan_cd", JFUStrConst.CD00565_PC9401);

		}

		// 2012.2.24 DELETE setEKK0341D01001へ移動 Start ************
		/*if(i==1){
			// 機器提供サービスコード(モデム)
			childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C005);
			// →料金コースコード C06（モデム)
			childMap.put("pcrs_cd", JFUStrConst.CD00134_C06);
			// →料金プランコード PC0601（)
			childMap.put("pplan_cd", JFUStrConst.CD00565_PC0601);
			// 宅内機器型式コード
			childMap.put("taknkiki_model_cd", "VA551V1");
		}*/
		// 2012.2.24 DELETE setEKK0341D01001へ移動 End   ************
		// 機器提供種別コード
		childMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
		// 親契約識別コード(サービス契約回線内訳)
		childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_02);
		// サービス契約回線内訳番号
		childMap.put("svc_kei_kaisen_ucwk_no", bnKeiService.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,
				X31CWebConst.DATABEAN_GET_VALUE));

		// 試用加入年月日 試用期間終了年月日 削除 2013/01/25 Otsuka
//ANK-4498-00-00 MOD START
		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);

		// 移転トーキ希望有無（契約内訳）2013/01/25 Otsuka コメントアウト
		//		childMap.put("itntoki_kibo_um", "0");
		// 共有フォームBean.契約者情報.氏名（姓）+（姓）/共有フォームBean.契約者情報.法人名 → 契約者機器送付先名
		childMap.put("kiki_sohus_nm", getKshnm(bnWebinfo, bnKeiyakuinfo));
		// 機器送付先カナ名
		childMap.put("kiki_sohus_kana", getKshnmKna(bnWebinfo, bnKeiyakuinfo));
		//マンションの場合
		//回線場所選択 契約中の回線に追加以外のマンションの申し込みの場合（マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加））
		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))
		{
			// 機器送付先郵便番号
			childMap.put("kiki_sohus_pcd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先住所補記・建物名
			childMap.put("kiki_sohus_adrttm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先住所補記・部屋番号
			childMap.put("kiki_sohus_adrrm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先電話番号
			childMap.put("kiki_sohus_telno", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先＿契約者住所差異フラグ
			childMap.put("kiki_sohus_ksh_ad_sai_flg",JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0);
		
			//ホーム・メゾンの申し込みとマンションの契約中回線へのサービス追加申込の場合
		}else
		{
			// 機器送付先郵便番号
			childMap.put("kiki_sohus_pcd", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先住所補記・建物名
			childMap.put("kiki_sohus_adrttm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先住所補記・部屋番号
			childMap.put("kiki_sohus_adrrm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先電話番号
			childMap.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));
			// 機器送付先＿契約者住所差異フラグ
			childMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(bnKeiyakuinfo));
		}
//ANK-4498-00-00 MOD END
		// マンション物件番号
		childMap.put("mansion_bukken_no", bnMansioninfo.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
		// 2012/11/02 IT1-2012-0001784 Y.Saitou DEL
		// 機器設置先名
		// childMap.put("kiki_stc_saki_nm", getKshnm(bnWebinfo, bnKeiyakuinfo));
		// 2012/11/02 IT1-2012-0001783 yamashita DEL
		// 機器設置先カナ名
		//childMap.put("kiki_stc_saki_kana", getKshnmKna(bnWebinfo, bnKeiyakuinfo));
		// 機器設置先郵便番号
		childMap.put("kiki_stc_saki_pcd", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器設置先住所補記・建物名
		childMap.put("kiki_stc_saki_adrttm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器設置先住所補記・部屋番号
		childMap.put("kiki_stc_saki_adrrm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器設置先＿契約者住所差異フラグ
		childMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(bnKeiyakuinfo));
		// 機器設置先電話番号
		childMap.put("kiki_stc_sk_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));
		// 異動区分
		childMap.put("ido_div", getIdoKbn(bnWebinfo));
		// SYSID
		childMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 販売種別コード
		childMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
		// 配送区分
		childMap.put("haiso_div", JFUStrConst.CD00020_00);

		// ↓↓■2011/10/15 機器IF項目追加対応■↓↓
		// 機器引当指定倉庫コード("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));

		/* 2013/02/14 KT1-2013-0000162 Y.Saitou DEL */

		// 住所未確定フラグ
		childMap.put("ad_mi_fix_flg", getAdMiFixFlg(bnRiyobasyoinfo));
		// ↑↑■2011/10/15 機器IF項目追加対応■↑↑
		// 機器送付先個別指定フラグ
		/** 2012/02/20 UPDATE START 0から1へ変更 **/
		childMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		/** 2012/02/20 UPDATE END **/

		// ↓↓■2011/11/04 IT2障害対応_IT2-2011-0000175■↓↓
		// 宅内機器種別コード("R0")
		childMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_RD);
		// ↑↑■2011/11/04 IT2障害対応_IT2-2011-0000175■↑↑

		// 2012.09.20 Osuka 追加
		// 機器送付先住所手動入力フラグ
		childMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);

		list.add(childMap);
		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))
		{
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）

			parentMap.put("MSKM_MNS_TYPE",bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));
		}
		parentMap.put("EKK0341D010TelList", list);
		outputMap.put("EKK0341D010Tel", parentMap);

		return outputMap;
	}

	/**
	 * 機器オプションサービス契約＜eo光電話＞の上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return bean
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK2811D010(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 bnWebinfo = getWebInfo(bean[0]);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 電話コース取得
		String telNoSvc = bnWebinfo.sendMessageString(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE);

		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);

		// 1番号サービス
		if (telNoSvc.equals(JFUStrConst.TEL_COURSE_1BANGOU_SVC))
		{
			// →料金コースコード G03（電話アダプター機能（１番号）)
			childMap.put("pcrs_cd", JFUStrConst.CD00134_G03);
			// →料金プランコード PG0301（電話アダプター機能（１番号） )
			childMap.put("pplan_cd", JFUStrConst.CD00565_PG0301);

		}
		// 2番号サービス
		else if (telNoSvc.equals(JFUStrConst.TEL_COURSE_2BANGOU_SVC))
		{
			// →料金コースコード G04（電話アダプター機能（２番号）)
			childMap.put("pcrs_cd", JFUStrConst.CD00134_G04);
			// →料金プランコード PG0401（電話アダプター機能（２番号） )
			childMap.put("pplan_cd", JFUStrConst.CD00565_PG0401);

		}

		// 異動区分
		childMap.put("ido_div", getIdoKbn(bnWebinfo));
		// SYSID
		childMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器連帯契約変更手続中フラグ
		childMap.put("kiki_rntai_kei_chgechu_flg", JFUStrConst.KK2811_KIKI_RNTAI_KEI_CHGECHU_FLG_0);

		list.add(childMap);

		parentMap.put("EKK2811D010TelList", list);
		outputMap.put("EKK2811D010Tel", parentMap);

		return outputMap;
	}

	/**
	 * 機器オプションサービス契約登録＜eo光ネット＞の上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK2811D01002(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 bnWebinfo = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);

		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_G01);
		// SYSID
		childMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		childMap.put("ido_div", getIdoKbn(bnWebinfo));
		// 機器連帯契約変更手続中フラグ
		childMap.put("kiki_rntai_kei_chgechu_flg", JFUStrConst.KK2811_KIKI_RNTAI_KEI_CHGECHU_FLG_1);
		// 更新年月日時分秒(更新前) 2011/12/17 追加→削除
		childMap.put("upd_dtm_bf", bnEonet.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_11, X31CWebConst.DATABEAN_GET_VALUE));

		list.add(childMap);

		parentMap.put("EKK2811D010NetList", list);
		outputMap.put("EKK2811D010Net", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス＜eo光テレビ＞の上りマッピングをする
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341D01003(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// テレビ
		int tvTunCnt = 0; // TVチューナ台数
		int dtlCnt = 0; // 明細数
		ArrayList list = null;
		HashMap childMap = null;

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス情報
		//		X31SDataBeanAccess bnKeiService = getKeiyakuinfo(bnWebinfo);
		// 光TV
		X31SDataBeanAccess bnTV = getEotv(bnWebinfo);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);
		// 利用場所情報
		X31SDataBeanAccess bnRiyobasyoinfo = getRiyobasyoinfo(bnWebinfo);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);
//ANK-4498-00-00 MOD START
		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);
//ANK-4498-00-00 MOD END
		// テレビコース2:KCNの場合は処理終了
		if (JFUStrConst.TV_COURSE_KCN.equals(bnTV.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		list = new ArrayList();

		// No655 2013/04/12 Otsuka start

		// TVチューナ台数
		tvTunCnt = Integer.parseInt(bnTV.sendMessageString(CommonInfoCFConst.STB_CNT_13, X31CWebConst.DATABEAN_GET_VALUE));

		ArrayList<String> tvList = new ArrayList<String>();
		int tvPreCnt = -1; // プレミアムコースが初めて存在した台数目

		for (int i = 0; i < tvTunCnt; i++)
		{
			// リストに追加する。
			tvList.add(bnTV.sendMessageString(getStbHd(i), X31CWebConst.DATABEAN_GET_VALUE));
		}

		// スマートプレミアムコースがはじめから何台目に存在するかを調べる。
		int cntSmp = tvList.indexOf(JFUStrConst.STB_SM_PREMIUM);
		if (cntSmp > -1) {
			tvPreCnt = cntSmp;
		}
		// プレミアムコースがはじめから何台目に存在するかを調べる。
		int cntHdp = tvList.indexOf(JFUStrConst.STB_HD_PREMIUM);
		if (cntHdp > -1) {
			tvPreCnt = cntHdp;
		}

		// TVチューナ台数
		if (bnTV.sendMessageString(CommonInfoCFConst.STB_CNT_13, X31CWebConst.DATABEAN_GET_VALUE).length() > 0)
		{
			dtlCnt = tvTunCnt * 3;

			for (int i = 0; i < dtlCnt; i++)
			{
				childMap = new HashMap();

				// 共通情報のマッピング
				childMap.put("func_code", func_code);
				// 親契約識別コード(サービス契約内訳)
				childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_03);

				if (i == 0 || i == 3 || i == 6 || i == 9 || i == 12) // STB
				{
					// → 機器提供サービスコード
					childMap.put("kktk_svc_cd", JFUStrConst.CD00132_C009);

					String prc_cd_1 = "";

					// プレミアムコースが1台目または、プレミアムコースが存在しない場合
					if ((tvPreCnt == 0) || (tvPreCnt == -1))
					{
						// → 料金コースコード;
						childMap.put("pcrs_cd", bnTV.sendMessageString(getStbHdKiki(i), X31CWebConst.DATABEAN_GET_VALUE).subSequence(0, 3));
						// → 料金プランコード
						childMap.put("pplan_cd", bnTV.sendMessageString(getStbHdKiki(i), X31CWebConst.DATABEAN_GET_VALUE).substring(3));

						// 宅内機器種別コード
						childMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_A0);

						// 料金プランコードに応じて型式を判定
						prc_cd_1 = bnTV.sendMessageString(getStbHdKiki(i), X31CWebConst.DATABEAN_GET_VALUE).substring(3);
					}
					// プレミアムコースが2台目以降に存在する場合
					else
					{
						// 1台目をプレミアムコースが初めて存在した台数を入れ替える。
						if (i == 0)
						{
							// → 料金コースコード;
							childMap.put("pcrs_cd", bnTV.sendMessageString(getStbHdKiki(tvPreCnt * 3), X31CWebConst.DATABEAN_GET_VALUE).subSequence(
									0, 3));
							// → 料金プランコード
							childMap
									.put("pplan_cd", bnTV.sendMessageString(getStbHdKiki(tvPreCnt * 3), X31CWebConst.DATABEAN_GET_VALUE).substring(3));

							// 宅内機器種別コード
							childMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_A0);

							// 料金プランコードに応じて型式を判定
							prc_cd_1 = bnTV.sendMessageString(getStbHdKiki(tvPreCnt * 3), X31CWebConst.DATABEAN_GET_VALUE).substring(3);
						}
						// プレミアムコースがが初めて存在した台数目
						else if ((tvPreCnt * 3) == i)
						{
							// → 料金コースコード;
							childMap.put("pcrs_cd", bnTV.sendMessageString(getStbHdKiki(0), X31CWebConst.DATABEAN_GET_VALUE).subSequence(0, 3));
							// → 料金プランコード
							childMap.put("pplan_cd", bnTV.sendMessageString(getStbHdKiki(0), X31CWebConst.DATABEAN_GET_VALUE).substring(3));

							// 宅内機器種別コード
							childMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_A0);

							// 料金プランコードに応じて型式を判定
							prc_cd_1 = bnTV.sendMessageString(getStbHdKiki(0), X31CWebConst.DATABEAN_GET_VALUE).substring(3);
						}
						// それ以外は通常通り
						else
						{
							// → 料金コースコード;
							childMap.put("pcrs_cd", bnTV.sendMessageString(getStbHdKiki(i), X31CWebConst.DATABEAN_GET_VALUE).subSequence(0, 3));
							// → 料金プランコード
							childMap.put("pplan_cd", bnTV.sendMessageString(getStbHdKiki(i), X31CWebConst.DATABEAN_GET_VALUE).substring(3));

							// 宅内機器種別コード
							childMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_A0);

							// 料金プランコードに応じて型式を判定
							prc_cd_1 = bnTV.sendMessageString(getStbHdKiki(i), X31CWebConst.DATABEAN_GET_VALUE).substring(3);
						}
					}

					// 録画機能なし
					if (JFUStrConst.CD00565_PC1201.equals(prc_cd_1))
					{
						// 2012/11/28 IT1-2012-0002234 kusumoto Start
						//childMap.put("taknkiki_model_cd", "TZ-DCH820");
						// 2012/11/28 IT1-2012-0002234 kusumoto End
						childMap.put("hdd_capa_cd", "00");

						/* 2013/11/12 Oshima IT2-2013-0000767 START */
					}
					// 録画機能あり
					else if (JFUStrConst.CD00565_PC1501.equals(prc_cd_1))
					{
						// 2012/11/28 IT1-2012-0002234 kusumoto Start
						//childMap.put("taknkiki_model_cd", "TZ-BDW900P");
						// 2012/11/28 IT1-2012-0002234 kusumoto End
						childMap.put("hdd_capa_cd", "03");
					}

					// 録画機能ありＨＤＤ容量５００ＧＢ
					else if (JFUStrConst.CD00565_PC9201.equals(prc_cd_1))
					{
						childMap.put("hdd_capa_cd", "05");
					}

					// ブルーレイ録画機能ありＨＤＤ容量１ＴＢ
					else if (JFUStrConst.CD00565_PC9301.equals(prc_cd_1))
					{
						childMap.put("hdd_capa_cd", "06");
					}

					// 録画機能なし　ＶＯＤ
					else if (JFUStrConst.CD00565_PC9501.equals(prc_cd_1))
					{
						childMap.put("hdd_capa_cd", "07");
					}

					// 録画機能付　ＨＤＤ容量２ＴＢ　ＶＯＤ
					else if (JFUStrConst.CD00565_PC9601.equals(prc_cd_1))
					{
						childMap.put("hdd_capa_cd", "08");
					}

					// 録画機能付　ＨＤＤ容量５００ＧＢ　ＶＯＤ
					else if (JFUStrConst.CD00565_PC9701.equals(prc_cd_1))
					{
						childMap.put("hdd_capa_cd", "09");
					}

					// ４Ｋ−ＳＴＢ　録画機能なし
					else if (JFUStrConst.HDD10_CD_STB_4K.contains(prc_cd_1))
					{
						childMap.put("hdd_capa_cd", "10");
					}

					// ４Ｋ−ＳＴＢ　録画機能付　ＨＤＤ容量２ＴＢ
					else if (JFUStrConst.HDD11_CD_STB_4K.contains(prc_cd_1))
					{
						childMap.put("hdd_capa_cd", "11");
					}

					// 想定外の料金のプランコード場合、システムエラー
					else
					{
						DEBUG_LOG.info("■■■■■ システムエラー HDD容量変換処理  料金プラン[" + prc_cd_1 + "] ■■■■■");
						throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
					}
					/* 2013/11/12 Oshima IT2-2013-0000767 END */

					/* 2012/12/05 Y.Saitou ST1-2012-0001029 DEL */

					/* 2012/10/27 Y.Saitou IT1-2012-0001120 ADD */
					// リンクSTBフラグ
					childMap.put("link_stb_flg", JFUStrConst.CD00002_0);
					// No270 2013/01/28 Otsuka 
					// 宅内機器異動コード
					childMap.put("taknkiki_ido_cd", JFUStrConst.CD00562_01);
				}
				if (i == 1 || i == 4 || i == 7 || i == 10 || i == 13) // B-CASカード
				{
					// → 機器提供サービスコード
					childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C010);
					// → 料金コースコード;
					childMap.put("pcrs_cd", JFUStrConst.CD00134_C16);
					// → 料金プランコード
					childMap.put("pplan_cd", JFUStrConst.CD00565_PC1601);
					// 宅内機器種別コード("B0")
					childMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_B0);
				}
				if (i == 2 || i == 5 || i == 8 || i == 11 || i == 14) // C-CASカード
				{
					// → 機器提供サービスコード
					childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C011);
					// → 料金コースコード;
					childMap.put("pcrs_cd", JFUStrConst.CD00134_C17);
					// → 料金プランコード
					childMap.put("pplan_cd", JFUStrConst.CD00565_PC1701);
					// 宅内機器種別コード("C0")
					childMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_C0);
				}
				/* 2012/12/05 Y.Saitou ST1-2012-0001029 ADD */
				// 宅内機器異動コード
				//				childMap.put("taknkiki_ido_cd", JFUStrConst.CD00562_01); No270 2013/01/28 Otsuka STBの箇所のみ
				// 機器提供種別コード
				childMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
				// 販売種別コード
				childMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
				// 異動区分
				childMap.put("ido_div", getIdoKbn(bnWebinfo));
				// 試用加入年月日 試用期間終了年月日 削除 2013/01/25 Otsuka
//ANK-4498-00-00 MOD START
				// 移転トーキ希望有無（契約内訳）2013/01/25 Otsuka コメントアウト
				//				childMap.put("itntoki_kibo_um", "0");
				// 共有フォームBean.契約者情報.氏名（姓）+（姓）/共有フォームBean.契約者情報.法人名 → 契約者機器送付先名
				childMap.put("kiki_sohus_nm", getKshnm(bnWebinfo, bnKeiyakuinfo));
				// 機器送付先カナ名
				childMap.put("kiki_sohus_kana", getKshnmKna(bnWebinfo, bnKeiyakuinfo));
				//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）
				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))
				{

					// 機器送付先郵便番号
					childMap.put("kiki_sohus_pcd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE)
							+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));
					// 機器送付先住所補記・建物名
					childMap.put("kiki_sohus_adrttm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TTM_09,X31CWebConst.DATABEAN_GET_VALUE));
					// 機器送付先住所補記・部屋番号
					childMap.put("kiki_sohus_adrrm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));
					// 機器送付先電話番号
					childMap.put("kiki_sohus_telno", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09,
							X31CWebConst.DATABEAN_GET_VALUE)
							+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
							+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));
					// 機器送付先＿契約者住所差異フラグ
					childMap.put("kiki_sohus_ksh_ad_sai_flg",JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0);
					//ホーム・メゾンの申し込みとマンションの契約中回線へのサービス追加申込の場合
				}else
				{
					// 機器送付先郵便番号
					childMap.put("kiki_sohus_pcd", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE)
							+ bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE));
					// 機器送付先住所補記・建物名
					childMap.put("kiki_sohus_adrttm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08,X31CWebConst.DATABEAN_GET_VALUE));
					// 機器送付先住所補記・部屋番号
					childMap.put("kiki_sohus_adrrm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
					// 機器送付先電話番号
					childMap.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));
					// 機器送付先＿契約者住所差異フラグ
					childMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(bnKeiyakuinfo));
				}
//ANK-4498-00-00 MOD END
				// マンション物件番号
				childMap.put("mansion_bukken_no", bnMansioninfo.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
				/** 2012/02/20 UPDATE START 0から1へ変更 **/
				// 機器送付先個別指定フラグ
				childMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
				/** 2012/02/20 UPDATE END **/
				// 2012/11/02 IT1-2012-0001784 Y.Saitou DEL
				// 機器設置先名
				//childMap.put("kiki_stc_saki_nm", getKshnm(bnWebinfo, bnKeiyakuinfo));
				// 2012/11/02 IT1-2012-0001783 yamashita DEL
				// 機器設置先カナ名
				//childMap.put("kiki_stc_saki_kana", getKshnmKna(bnWebinfo, bnKeiyakuinfo));
				// 機器設置先郵便番号
				childMap.put("kiki_stc_saki_pcd", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08,
						X31CWebConst.DATABEAN_GET_VALUE)
						+ bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器設置先住所補記・建物名
				childMap.put("kiki_stc_saki_adrttm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08,
						X31CWebConst.DATABEAN_GET_VALUE));
				// 機器設置先住所補記・部屋番号
				childMap.put("kiki_stc_saki_adrrm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08,
						X31CWebConst.DATABEAN_GET_VALUE));
				// 機器設置先＿契約者住所差異フラグ
				childMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(bnKeiyakuinfo));
				// 機器設置先電話番号
				childMap.put("kiki_stc_sk_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));
				// SYSID
				childMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

				// 配送区分
				childMap.put("haiso_div", JFUStrConst.CD00020_00);

				// ↓↓■2011/10/15 機器IF項目追加対応■↓↓
				// 機器引当指定倉庫コード("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));

				/* 2013/02/14 KT1-2013-0000162 Y.Saitou DEL */

				// 住所未確定フラグ
				childMap.put("ad_mi_fix_flg", getAdMiFixFlg(bnRiyobasyoinfo));

				// ↑↑■2011/10/15 機器IF項目追加対応■↑↑

				// 2012.09.20 Osuka 追加
				// 機器送付先住所手動入力フラグ
				childMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);

				list.add(childMap);
			}
		}
		// No655 2013/04/12 Otsuka end

		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))
		{
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）

			parentMap.put("MSKM_MNS_TYPE",bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));
		}		
		parentMap.put("EKK0341D010TvList", list);
		outputMap.put("EKK0341D010Tv", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービスONU登録上りマッピングをする
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341D01005(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 bnKeiService = getKeiyakusvcinfo(bnWebinfo);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);
		// 利用場所情報
		X31SDataBeanAccess bnRiyobasyoinfo = getRiyobasyoinfo(bnWebinfo);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);

		// 2012.2.24 マンションVDSL,VDSL-S,イーサ、ギガイーサの場合、登録しない Start ************
		String teikyo_hoshiki = bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.TK_HOSHIKI_PTN_VDSL.equals(teikyo_hoshiki) || JFUStrConst.TK_HOSHIKI_PTN_VDSLS.equals(teikyo_hoshiki)
				|| JFUStrConst.TK_HOSHIKI_PTN_ENET.equals(teikyo_hoshiki) || JFUStrConst.TK_HOSHIKI_PTN_GG_ENET.equals(teikyo_hoshiki))
		{
			return null;
		}
		// 2012.2.24 マンションVDSL,VDSL-S,イーサ、ギガイーサの場合、登録しない End   ************

		// 「TAI-2012-0000136-146」 2012.12.20 Nagasawa start
		// すでにeo光ネット、eo光電話を契約済みの場合、登録しない
		String nowSvcNet = bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		String nowSvcTel = bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.NOW_SVC_NET_KEI_CHU.equals(nowSvcNet) || JFUStrConst.NOW_SVC_TEL_KEI_CHU.equals(nowSvcTel))
		{
			return null;
		}
		// 「TAI-2012-0000136-146」 2012.12.20 Nagasawa end

		boolean isHikariConcent = JFUWebCommon.isHikariConcent(bnMansioninfo);

		// 機能コード
		parentMap.put("func_code", func_code);
		// ONU（GE-PON） → 機器提供サービスコード（ONU）
		parentMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C012);
		// 料金コースコード C18（ONU)
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_C18);
		// 料金プランコード PC1801（ONU)
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PC1801);
		// 機器提供種別コード
		parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
		// 親契約識別コード(サービス契約回線内訳)
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_02);
		// 「TAI-2012-0000136-146」 2012.12.20 Nagasawa start
		// 共有フォームBean.サービス契約回線内訳番号 → サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", bnKeiService.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 「TAI-2012-0000136-146」 2012.12.20 Nagasawa end
		// 共有フォームBean.サービス開始希望日 → サービス利用開始希望年月日
		if (isHikariConcent)
		{
			// 光コンセント：機器のサービス開始希望日を設定しない。
			parentMap.put("svc_use_sta_kibo_ymd", null);
		}
		else
		{
			parentMap.put("svc_use_sta_kibo_ymd", bnEonet.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_GET_VALUE));
		}
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(bnWebinfo));

		// 試用加入年月日 試用期間終了年月日　2013/01/25 削除
//ANK-4498-00-00 MOD START
		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);
		// 共有フォームBean.契約者情報.氏名（姓）+（姓）/共有フォームBean.契約者情報.法人名 → 契約者機器送付先名
		parentMap.put("kiki_sohus_nm", getKshnm(bnWebinfo, bnKeiyakuinfo));
		// 機器送付先カナ名
		parentMap.put("kiki_sohus_kana", getKshnmKna(bnWebinfo, bnKeiyakuinfo));
		// 機器送付先郵便番号
		//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）
		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))
		{
			// 機器送付先郵便番号
			parentMap.put("kiki_sohus_pcd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先住所補記・建物名
			parentMap.put("kiki_sohus_adrttm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先住所補記・部屋番号
			parentMap.put("kiki_sohus_adrrm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先電話番号
			parentMap.put("kiki_sohus_telno", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先＿契約者住所差異フラグ
			parentMap.put("kiki_sohus_ksh_ad_sai_flg",JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0);
			//ホーム・メゾンの申し込みとマンションの契約中回線へのサービス追加申込の場合
		}else
		{
			// 機器送付先郵便番号
			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));
		}
//ANK-4498-00-00 MOD END

		// マンション物件番号
		parentMap.put("mansion_bukken_no", bnMansioninfo.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
		// 2012/11/02 IT1-2012-0001784 Y.Saitou DEL
		// 機器設置先名
		//parentMap.put("kiki_stc_saki_nm", getKshnm(bnWebinfo, bnKeiyakuinfo));
		// 2012/11/02 IT1-2012-0001783 yamashita DEL
		// 機器設置先カナ名
		//parentMap.put("kiki_stc_saki_kana", getKshnmKna(bnWebinfo, bnKeiyakuinfo));
		// 機器設置先郵便番号
		parentMap.put("kiki_stc_saki_pcd", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器設置先住所補記・建物名
		parentMap.put("kiki_stc_saki_adrttm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器設置先住所補記・部屋番号
		parentMap.put("kiki_stc_saki_adrrm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器設置先＿契約者住所差異フラグ
		parentMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(bnKeiyakuinfo));
		// 機器設置先電話番号
		parentMap.put("kiki_stc_sk_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));

		// SYSID
		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 販売種別コード :標準（新品）
		parentMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
		// 配送区分
		parentMap.put("haiso_div", JFUStrConst.CD00020_00);
		// 機器送付先住所手動入力フラグ
		parentMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0); // 2013/01/25 No.311 Otsuka

		// ↓↓■2011/10/15 機器IF項目追加対応■↓↓
		// 機器引当指定倉庫コード("000001")
		parentMap.put("kiki_hkat_shitei_soko_cd", "000001");

		// 機器引当指定倉庫棚コード("000")
		parentMap.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 */

		// 住所未確定フラグ
		parentMap.put("ad_mi_fix_flg", getAdMiFixFlg(bnRiyobasyoinfo));
		// ↑↑■2011/10/15 機器IF項目追加対応■↑↑
		/* 2012.2.21 UPDATE START 0⇒1に変更 *********************************/
		// 機器送付先個別指定フラグ
		parentMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		/* 2012.2.21 UPDATE END 0⇒1に変更   *********************************/

		// ↓↓■2011/11/04 IT2障害対応_IT2-2011-0000175■↓↓
		// 宅内機器種別コード("D0")
		parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_D0);
		// ↑↑■2011/11/04 IT2障害対応_IT2-2011-0000175■↑↑

		// 2012.09.20 Osuka 追加
		// 機器送付先住所手動入力フラグ
		parentMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
		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))
		{
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）

			parentMap.put("MSKM_MNS_TYPE",bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));
		}
		outputMap.put("EKK0341D010Onu", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス＜ｅｏ光テレビ＞VONUの上りマッピングをする
	 * 
	 * @param bean [0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341D01006(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);

		// ST2-2013-0001417 & No435 Otsuka 2013/02/27 start
		// 申込回線がマンションの場合、登録しない
		if (JFUStrConst.MSKM_MNS_TYPE_MANSION
				.equals(bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return null;
		}
		// ST2-2013-0001417 & No435 Otsuka 2013/02/27 end

		// 契約サービス情報
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);
		// 光TV
		//		X31SDataBeanAccess bnTV = getEotv(bnWebinfo);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);
		// 利用場所情報
		X31SDataBeanAccess bnRiyobasyoinfo = getRiyobasyoinfo(bnWebinfo);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);
		// 親契約識別コード(サービス契約回線内訳)
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_02);
		// 「TAI-2012-0000136-146」 2012.12.20 Nagasawa start
		// 共有フォームBean.サービス契約回線内訳番号 → サービス契約回線内訳番号
		parentMap.put("svc_kei_kaisen_ucwk_no", bnKeiService.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,
				X31CWebConst.DATABEAN_GET_VALUE));
		// 「TAI-2012-0000136-146」 2012.12.20 Nagasawa end
		// 機器提供サービスコード
		parentMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C013);
		// 料金コースコード
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_C20);
		// 料金プランコード
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PC2001);
		// 機器提供種別コード
		parentMap.put("kktk_sbt_cd", JFUStrConst.CD00212_02);
		// 販売種別コード
		parentMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(bnWebinfo));

		// 試用加入年月日 試用期間終了年月日 2013/01/25 otsuka 削除 
//ANK-4498-00-00 MOD START
		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);

		// 移転トーキ希望有無（契約内訳） 2013/01/25 otsuka コメントアウト
		//		parentMap.put("itntoki_kibo_um", "0");
		// 共有フォームBean.契約者情報.氏名（姓）+（姓）/共有フォームBean.契約者情報.法人名 → 契約者機器送付先名
		parentMap.put("kiki_sohus_nm", getKshnm(bnWebinfo, bnKeiyakuinfo));
		// 機器送付先カナ名
		parentMap.put("kiki_sohus_kana", getKshnmKna(bnWebinfo, bnKeiyakuinfo));
		// 機器送付先郵便番号
		//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）
		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))
		{
			// 機器送付先郵便番号
			parentMap.put("kiki_sohus_pcd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先住所補記・建物名
			parentMap.put("kiki_sohus_adrttm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先住所補記・部屋番号
			parentMap.put("kiki_sohus_adrrm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先電話番号
			parentMap.put("kiki_sohus_telno", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器送付先＿契約者住所差異フラグ
			parentMap.put("kiki_sohus_ksh_ad_sai_flg",JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0);
			//ホーム・メゾンの申し込みとマンションの契約中回線へのサービス追加申込の場合
		}else
		{
			// 機器送付先郵便番号
			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));
		}
//ANK-4498-00-00 MOD END
		// マンション物件番号
		parentMap.put("mansion_bukken_no", bnMansioninfo.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
		// 2012/11/02 IT1-2012-0001784 Y.Saitou DEL
		// 機器設置先名
		//parentMap.put("kiki_stc_saki_nm", getKshnm(bnWebinfo, bnKeiyakuinfo));
		// 2012/11/02 IT1-2012-0001783 yamashita DEL
		// 機器設置先カナ名
		//parentMap.put("kiki_stc_saki_kana", getKshnmKna(bnWebinfo, bnKeiyakuinfo));
		// 機器設置先郵便番号
		parentMap.put("kiki_stc_saki_pcd", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE)
				+ bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器設置先住所補記・建物名
		parentMap.put("kiki_stc_saki_adrttm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器設置先住所補記・部屋番号
		parentMap.put("kiki_stc_saki_adrrm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 機器設置先＿契約者住所差異フラグ
		parentMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(bnKeiyakuinfo));
		// 機器設置先電話番号
		parentMap.put("kiki_stc_sk_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));
		// SYSID
		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// 販売種別コード :標準（新品）
		parentMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
		// 配送区分
		parentMap.put("haiso_div", JFUStrConst.CD00020_00);
		// 機器送付先住所手動入力フラグ
		parentMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0); // 2013/01/25 No.311 Otsuka

		// ↓↓■2011/10/15 機器IF項目追加対応■↓↓
		// 機器引当指定倉庫コード("000001")
		parentMap.put("kiki_hkat_shitei_soko_cd", "000001");

		// 機器引当指定倉庫棚コード("000")
		parentMap.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 */

		// 機器送付先個別指定フラグ
		// 2012.2.21 UPDATE START 0⇒1に変更 *********************************/
		parentMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
		// 2012.2.21 UPDATE END   0⇒1に変更 *********************************/

		// 住所未確定フラグ
		parentMap.put("ad_mi_fix_flg", getAdMiFixFlg(bnRiyobasyoinfo));
		// ↑↑■2011/10/15 機器IF項目追加対応■↑↑

		// ↓↓■2011/11/04 IT2障害対応_IT2-2011-0000175■↓↓
		// 宅内機器種別コード("E0")
		parentMap.put("taknkiki_sbt_cd", JFUStrConst.TKNI_KIKI_SBT_CD_E0);
		// ↑↑■2011/11/04 IT2障害対応_IT2-2011-0000175■↑↑

		// 2012.09.20 Osuka 追加
		// 機器送付先住所手動入力フラグ
		parentMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
		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))
		{
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）

			parentMap.put("MSKM_MNS_TYPE",bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));
		}
		outputMap.put("EKK0341D010Vonu", parentMap);

		return outputMap;
	}

	/**
	 * 業務パラメータ管理一意照会マップの上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEZM0321A010(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);

		// 通話料指定到達通知金額初期値 → 業務パラメータ管理一意照会マップ.ＫＥＹ＿業務パラメータID
		parentMap.put("key_work_param_id", JFUStrConst.KK_TWRYO_UPPL_SHKV);

		ArrayList list = new ArrayList();
		HashMap childMap = new HashMap();

		list.add(childMap);

		parentMap.put("EZM0321A010CBSMsg1List", list);
		outputMap.put("EZM0321A010", parentMap);

		return outputMap;
	}

	/**
	 * オプションサービス契約＜eo光電話＞登録マップの上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @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;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光ネット
		//		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		/*
		// オプションサービスコード
		parentMap.put("op_svc_cd", JFUStrConst.CD00136_B072);
		// 料金コースコード
		parentMap.put("pcrs_cd", JFUStrConst.CD00134_B76);
		// 料金プランコード
		parentMap.put("pplan_cd", JFUStrConst.CD00565_PB7601);
		// 親契約識別コード(サービス契約内訳)
		parentMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_03);
		// SYSID
		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス利用開始希望年月日
		parentMap.put("svc_use_sta_kibo_ymd", bnEonet.sendMessageString(CommonInfoCFConst.SVC_STA_KIBO_11, X31CWebConst.DATABEAN_GET_VALUE));
		// 異動区分
		parentMap.put("ido_div", getIdoKbn(bnWebinfo));
		*/
		// eo光電話
		//		X31SDataBeanAccess[] bnEotel = getEotel(bnWebinfo);
		String tel_course = bnWebinfo.sendMessageString(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE);
		int count = 0;
		if (JFUStrConst.TEL_COURSE_1BANGOU_SVC.equals(tel_course))
		{
			count = 1;
		}
		else if (JFUStrConst.TEL_COURSE_2BANGOU_SVC.equals(tel_course))
		{
			count = 2;
		}
		ArrayList list = null;
		HashMap childMap = null;
		list = new ArrayList();
		// 電話コースの分だけＭＡＰを作成する
		for (int i = 0; i < count; i++)
		{
			childMap = new HashMap();

			// オプションサービスコード
			childMap.put("op_svc_cd", JFUStrConst.CD00136_B072);
			// 料金コースコード
			childMap.put("pcrs_cd", JFUStrConst.CD00134_B76);
			// 料金プランコード
			childMap.put("pplan_cd", JFUStrConst.CD00565_PB7601);
			// 親契約識別コード(サービス契約内訳)
			childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_03);
			// SYSID
			childMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
			// サービス利用開始希望年月日
			//「IT2-2012-0002142」サービス開始希望年月日>>>値設定不要のため、空を無条件で設定する
			childMap.put("svc_use_sta_kibo_ymd", null);
			//「IT2-2012-0002142」サービス開始希望年月日<<<E
			// 異動区分
			childMap.put("ido_div", getIdoKbn(bnWebinfo));

			list.add(childMap);
		}
		parentMap.put("EKK0371D010TelList", list);

		outputMap.put("EKK0371D010Tel", parentMap);

		return outputMap;
	}

	/**
	 * オプションサービス契約＜eo光電話＞登録マップの下りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0371D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(bnWebinfo);

		HashMap parentMap = null;
		if (outputMap.containsKey("EKK0371D010Tel"))
		{
			parentMap = (HashMap)outputMap.get("EKK0371D010Tel");
		}

		if (parentMap != null)
		{
			// MAPが存在する場合
			ArrayList outList = null;
			if (parentMap.containsKey("EKK0371D010TelList"))
			{
				outList = (ArrayList)parentMap.get("EKK0371D010TelList");
			}
			if (outList != null)
			{
				// 取得リストが存在する場合
				for (int i = 0; i < outList.size(); i++)
				{
					HashMap childMap = (HashMap)outList.get(i);

					// 取得ＭＡＰが存在しなかった場合処理終了
					if (childMap == null)
						continue;

					// 共有フォームＢｅａｎ.光電話の件数を超えた場合処理終了
					if (i >= bnEotel.length)
						break;

					// 共有フォームＢｅａｎ.光電話 サービス契約番号 ← サービス契約＜eo光Tel＞マップ.サービス契約番号
					if (childMap.containsKey("svc_kei_no"))
					{
						bnEotel[i].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
								.get("svc_kei_no"));
					}

					/* 2012/11/28 IT2-2012-0001841 Y.Saitou ADD-START */
					// 共有フォームＢｅａｎ.光電話 オプションサービス契約番号 ←サービス契約＜eo光Tel＞マップ.オプションサービス契約番号
					if (childMap.containsKey("op_svc_kei_no"))
					{
						bnEotel[i].sendMessageString(CommonInfoCFConst.OP_SVC_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
								.get("op_svc_kei_no"));
					}
					/* 2012/11/28 IT2-2012-0001841 Y.Saitou ADD-END */

					// 共有フォームＢｅａｎ.光電話 世代登録年月日時分秒（サービス契約）←サービス契約＜eo光Tel＞マップ.世代登録年月日時分秒)
					if (childMap.containsKey("gene_add_dtm"))
					{
						bnEotel[i].sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
								.get("gene_add_dtm"));
					}

					// 共有フォームＢｅａｎ.光電話 更新年月日時分秒（サービス契約） ←サービス契約＜eo光Tel＞マップ.更新年月日時分秒
					if (childMap.containsKey("upd_dtm"))
					{
						bnEotel[i].sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_SET_VALUE, (String)childMap
								.get("upd_dtm"));
					}
				}
			}
		}
		/*
				int intCnt = bnEotel.length;
				for (int i = 0; i < intCnt; i++)
				{
					// 共有フォームＢｅａｎ.光電話 サービス契約番号 ← サービス契約＜eo光TV＞マップ.サービス契約番号
					bnEotel[i].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("svc_kei_no"));
					// 共有フォームＢｅａｎ.光電話 世代登録年月日時分秒（サービス契約）←サービス契約＜eo光TV＞マップ.世代登録年月日時分秒)
					bnEotel[i].sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
							.get("gene_add_dtm"));
					// 共有フォームＢｅａｎ.光電話 更新年月日時分秒（サービス契約） ←サービス契約＜eo光TV＞マップ.更新年月日時分秒
					bnEotel[i].sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_12, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("upd_dtm"));
				}
		*/
		return bean;
	}

	/**
	 * 請求契約登録上りマッピングをする
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0491D010(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 bn = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(bn);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bn);

		// ＷＥＢ新規情報.契約種別
		String keiSbt = bn.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 支払い方法情報
		X31SDataBeanAccess paywayInfoBean = getPaywayInfo(bn);

		// No347 2013/01/28 Otsuka start
		// 契約サービス情報
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bn);
		// 選択サービス ネット
		String select_net = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);

		// 選択サービス モバイル
		String select_mobile = bnKeiService.sendMessageString(CommonInfoCFConst.SELECT_SVC_MOBILE_10, X31CWebConst.DATABEAN_GET_VALUE);

		// 契約中サービス ネット
		String svc_net = bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);

		// 契約中サービス モバイル
		String svc_mobile = bnKeiService.sendMessageString(CommonInfoCFConst.NOW_SVC_MOBILE_10, X31CWebConst.DATABEAN_GET_VALUE);

		// No347 2013/01/28 Otsuka end

		// IT2-2012-0001084 h.iwamoto 2012/06/27 START
		// 加入契約申込条件コード
		String knykei_mskm_joken_cd = bnMansioninfo.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
		// IT2-2012-0001084 h.iwamoto 2012/06/27 END

		// 申込区分
		String mskmKbn = bn.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		// ご契約者住所（現住所）の変更状況
		String kshGenaddChangeJk = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_GENADD_CHANGE_JK_09, X31CWebConst.DATABEAN_GET_VALUE);

		// IT1-2012-0001580 2012/10/26 h.iwamoto START
		// 全戸一括かつ支払い方法を引き継ぐ場合は請求契約登録を行わない
		String hikitugi = paywayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.CD01260_13.equals(knykei_mskm_joken_cd) && hikitugi.equals(JFUStrConst.PAYWAY_CONTINUE_CONTINUE))
		{
			return outputMap;
		}
		// IT1-2012-0001580 2012/10/26 h.iwamoto END

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// ＳＹＳＩＤ
		parentMap.put("sysid", "");
		// 2012.2.21
		parentMap.put("sysid", bn.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		//		// マンションオーナーＩＤ
		//		parentMap.put("mansion_ownr_id", bnMansioninfo.sendMessageString(CommonInfoCFConst.MANSION_OWNR_ID_16, X31CWebConst.DATABEAN_GET_VALUE));
		// 申込明細番号
		parentMap.put("mskm_dtl_no", "");

		// KAD-2012-0001022 Otsuka add 2012/10/29 start
		// IT2-2012-0001084 h.iwamoto 2012/06/27 START

		// 請求方法コード (初期値として窓口払いを設定)
		String seiky_way_cd = JFUStrConst.CD00166_1;

		// 全戸一括の場合
		if (JFUStrConst.CD01260_13.equals(knykei_mskm_joken_cd))
		{
			// TAI-2012-0000136 2012/12/28 h.iwamoto 全戸一括のみ設定 START
			// マンションオーナーＩＤ
			// parentMap.put("mansion_ownr_id", bnMansioninfo.sendMessageString(CommonInfoCFConst.MANSION_OWNR_ID_16, X31CWebConst.DATABEAN_GET_VALUE));
			// TAI-2012-0000136 2012/12/28 h.iwamoto 全戸一括のみ設定 END
			// 支払い方法
			String payway = paywayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);

			// 契約者と同じ
			String diffkei = paywayInfoBean.sendMessageString(CommonInfoCFConst.CUST_NM_SBT_DIFF_15, X31CWebConst.DATABEAN_GET_VALUE);

			// 支払い方法がクレジットの場合
			if (JFUStrConst.PAYWAY_CREDIT.equals(payway))
			{
				String seikyKeiKana = "";
				if (JFUStrConst.S_ONE.equals(diffkei))
				{
					// 支払い方法情報.支払方法選択が2:クレジットの場合、クレジット名義人カナを設定する
					seikyKeiKana = paywayInfoBean.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);
					}
				}
				// 請求方法コード（4:クレジット）
				seiky_way_cd = JFUStrConst.CD00166_4;

				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 = paywayInfoBean.sendMessageString(CommonInfoCFConst.KOUFURI_FLG_15, X31CWebConst.DATABEAN_GET_VALUE);
				
				// 口座振替フラグにより分岐
				if (!JFUStrConst.KOUFURI_YES.equals(koufuriFlg)) {
					// 請求書払いの場合
					seiky_way_cd = JFUStrConst.CD00166_1;
					
				} else {
					String tmpBankCd = paywayInfoBean.sendMessageString(CommonInfoCFConst.BANK_CD_15, X31CWebConst.DATABEAN_GET_VALUE);
					// 金融機関コードにより分岐
					if (BANK_CD_POSTAL.equals(tmpBankCd)) {
						// ゆうちょ銀行の場合
						// 請求方法コード（3:ゆうちょ銀行）
						seiky_way_cd = JFUStrConst.CD00166_3;
					} else {
						// ゆうちょ銀行以外の場合
						// 請求方法コード（3:ゆうちょ銀行）
						seiky_way_cd = JFUStrConst.CD00166_2;
					}
					
					// 金融機関情報から返却されてきた名称（カナ）を設定する。
					parentMap.put("seiky_kei_kana",  paywayInfoBean.sendMessageString(CommonInfoCFConst.ACCOUNT_HOLDER_15, X31CWebConst.DATABEAN_GET_VALUE));
				}
				
			}
			//「ANK-2318-00-00」【口座振替WEB受付サービス導入にかかるシステム改修依頼】 2015.02.16 FJ)中西 end
		}

		parentMap.put("seiky_way_cd", seiky_way_cd);

		// IT2-2012-0001084 h.iwamoto 2012/06/27 END
		// KAD-2012-0001022 Otsuka add 2012/10/29 end

		/* 2012/10/27 Y.Saitou IT1-2012-0001079 DEL-START */
		//		// 請求サイクルコード
		//		parentMap.put("seiky_cycle_cd", "01");
		/* 2012/10/27 Y.Saitou IT1-2012-0001079 DEL-END */
		/* 2012/10/27 Y.Saitou IT1-2012-0001077 DEL-START */
		//		// 情報表示コード
		//		parentMap.put("info_dsp_cd", "1");
		/* 2012/10/27 Y.Saitou IT1-2012-0001077 DEL-END */

		// 請求書発行要否
		// No347・334 2013/01/28 Otsuka start
		// 発行対象外
		// ネットまたはモバイルを契約している場合は発行対象外
		if (JFUStrConst.SELECT_SVC_NET_CHOICE.equals(select_net) || JFUStrConst.SELECT_SVC_MOBILE_CHOICE.equals(select_mobile)
				|| JFUStrConst.NOW_SVC_NET_KEI_CHU.equals(svc_net) || JFUStrConst.NOW_SVC_MOBILE_KEI_CHU.equals(svc_mobile))
		{
			parentMap.put("seikyus_hakko_yh", JFUStrConst.CD00930_0);
		}
		else
		{
			// ANK-3921-00-00 MOD START
			//parentMap.put("seikyus_hakko_yh", JFUStrConst.CD00930_1);
			parentMap.put("seikyus_hakko_yh", JFUStrConst.CD00930_0);
			// ANK-3921-00-00 MOD END
		}

		// No347 2013/01/28 Otsuka end

		// 請求書送付先_契約者住所差異フラグ
		parentMap.put("sks_shs_ksh_ad_sai_flg", JFUStrConst.SAI_FLG_SAI_NON);
		// 請求書送付先名_お客様名差異フラグ
		parentMap.put("sks_shs_nm_cust_nm_sai_flg", JFUStrConst.SAI_FLG_SAI_NON);

		// IT2-2012-0001669 2012/11/12 y.kusumoto START
		String kiyk_sbt = bn.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 送付先
		if (JFUStrConst.KEI_SBT_KOJINCD.equals(kiyk_sbt))
		{
			// ANK-1399-00-00
			// 個人の場合
			// 送付先カナ名
			// 契約者情報.氏名かな（姓）契約者情報.氏名かな（名）
			parentMap.put("shs_kana", JFUWebCommon.convFullHiraToFullKataV(bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHKN_SEI_09,
					X31CWebConst.DATABEAN_GET_VALUE)
					+ "　" + bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHKN_NM_09, X31CWebConst.DATABEAN_GET_VALUE)));

			//送付先名
			//  契約者情報.氏名（姓）契約者情報.氏名（名）
			parentMap.put("sohus_nm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHNM_SEI_09, X31CWebConst.DATABEAN_GET_VALUE) + "　"
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSHNM_NM_09, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if (JFUStrConst.KEI_SBT_HOJINCD.equals(kiyk_sbt))
		{
			// 法人の場合
			// 送付先カナ名
			// 契約者氏名カナ
			parentMap.put("shs_kana", JFUWebCommon.convFullHiraToFullKataV(bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.HOJINKN_09,
					X31CWebConst.DATABEAN_GET_VALUE)));

			//送付先名
			// 契約者氏名
			parentMap.put("sohus_nm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.HOJINNM_09, X31CWebConst.DATABEAN_GET_VALUE));
		}
		// IT2-2012-0001669 2012/11/12 y.kusumoto END
		// 送付先部課名
		parentMap.put("sohus_bkm", "");
		// 送付先担当者名
		parentMap.put("sohus_tntsha_nm", "");
		// 送付先住所コード
		parentMap.put("sohus_ad_cd", "");

		if(JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) && !JFUWebCommon.isNull(kshGenaddChangeJk) && !"0".equals(kshGenaddChangeJk))
		{
			// サービス追加,回線追加で契約者住所を変更する場合

			// 変更前：契約者情報.郵便番号（上）契約者情報.郵便番号（下） 送付先郵便番号
			parentMap.put("sohus_pcd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD1_BF_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD2_BF_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更前：契約者情報.建物名 送付先住所補記・建物名
			parentMap.put("sohus_adrttm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TTM_BF_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更前：契約者情報.部屋番号 送付先住所補記・部屋番号
			parentMap.put("sohus_adrrm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_RRM_BF_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 変更前：送付先番地号
			parentMap.put("sohus_bnchigo", "");
			// 変更前：契約者情報.電話番号（１）契約者情報.電話番号（２）契約者情報.電話番号（３） 送付先電話番号
			parentMap.put("sohus_telno", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO1_BF_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO2_BF_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO3_BF_09, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// 上記以外の場合

			// 契約者情報.郵便番号（上）契約者情報.郵便番号（下） 送付先郵便番号
			parentMap.put("sohus_pcd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 契約者情報.建物名 送付先住所補記・建物名
			parentMap.put("sohus_adrttm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 契約者情報.部屋番号 送付先住所補記・部屋番号
			parentMap.put("sohus_adrrm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 送付先番地号
			parentMap.put("sohus_bnchigo", "");
			// 契約者情報.電話番号（１）契約者情報.電話番号（２）契約者情報.電話番号（３） 送付先電話番号
			parentMap.put("sohus_telno", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
					+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));

			// 請求書送付先住所確定後変更可否は項目からなくなったため削除 2013/01/29 Otsuka
		}

		// 異動区分
		parentMap.put("ido_div", getIdoKbn(bn));

		// 初回支払申込書送付要否を削除 2013/01/29 Otsuka

		// -----ST2-2012-0001382(再修正) 2012/08/05 h.iwamoto START-----
		// 全戸一括、かつ、支払い方法がクレジットまたは銀行・ゆうちょかつ請求方法コード（1:窓口払い）以外の場合 -- OM-2019-0000042 2019/03/27
		// 運用日付 ⇒ 請求契約登録マップ.初回支払申込書受領年月日
		//　ない場合は　空
		if (JFUStrConst.KNYKEI_MSKM_JOKEN_IKT.equals(knykei_mskm_joken_cd))
		{
			// 支払い方法情報.支払い方法選択
			String payway = paywayInfoBean.sendMessageString(CommonInfoCFConst.PAYWAY_15, X31CWebConst.DATABEAN_GET_VALUE);

			// 全戸一括の場合
// OM-2019-0000042 2019/03/27 MOD START
//			if (JFUStrConst.PAYWAY_CREDIT.equals(payway))
			if (JFUStrConst.PAYWAY_CREDIT.equals(payway) || 
					(JFUStrConst.PAYWAY_BANK_POSTAL.equals(payway) && !JFUStrConst.CD00166_1.equals(seiky_way_cd)))
// OM-2019-0000042 2019/03/27 MOD END
			{
				parentMap.put("first_pay_mskmsho_rcp_ymd", opeDate);
			}
			else
			{
				parentMap.put("first_pay_mskmsho_rcp_ymd", "");
			}
		}
		else
		{
			// 全戸一括ではない
			parentMap.put("first_pay_mskmsho_rcp_ymd", "");
		}
		// 初回支払申込書送付要否 (空固定)
		parentMap.put("first_pay_mskmsho_sohu_yh", "");
		// -----ST2-2012-0001382(再修正) 2012/08/05 h.iwamoto END-----

		// No248 Otsuka 2013/01/29 
		// 共有フォームBean.契約者情報.個人メールアドレスまたは法人メールアドレス → 請求契約登録マップ.送付先メールアドレス
		parentMap.put("sohus_mlad", getKshMlad(bnKeiyakuinfo, kiyk_sbt));

		// 2012/11/06 IT1-2012-0001122 Y.Saitou ADD
		// 契約締結年月日
		parentMap.put("kei_cnc_ymd", opeDate);

		outputMap.put("EKK0491D010", parentMap);

		return outputMap;
	}

	/**
	 * 請求契約登録下りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0491D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		// WEB新規情報
		X31SDataBeanAccess bn = getWebInfo(bean[0]);
		// 共有フォームBean.支払い方法情報
		X31SDataBeanAccess bnPywyInfo = getPywyInfo(bn);

		// IT1-2012-0001580 2012/10/26 h.iwamoto START
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bn);

		// 加入契約申込条件コード
		String knykei_mskm_joken_cd = bnMansioninfo.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

		// 全戸一括かつ支払い方法を引き継ぐ場合は請求契約登録を行わない
		String hikitugi = bnPywyInfo.sendMessageString(CommonInfoCFConst.PAYWAY_CONTINUE_15, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.CD01260_13.equals(knykei_mskm_joken_cd) && hikitugi.equals(JFUStrConst.PAYWAY_CONTINUE_CONTINUE))
		{
			return bean;
		}
		// IT1-2012-0001580 2012/10/26 h.iwamoto END

		HashMap parentMap = null;
		if (outputMap.containsKey("EKK0491D010"))
		{
			parentMap = (HashMap)outputMap.get("EKK0491D010");
		}
		else
		{
			return bean;
		}

		// 支払い方法情報.請求契約番号 ← 請求契約マップ.請求契約番号
		bnPywyInfo.sendMessageString(CommonInfoCFConst.SEIKY_KEI_NO_15, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("seiky_kei_no"));

		// 支払い方法情報.世代登録年月日時分秒 ← 請求契約マップ.世代登録年月日時分秒
		bnPywyInfo.sendMessageString(CommonInfoCFConst.GENE_ADD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
				.get("gene_add_dtm"));

		// 更新年月日時分秒 ← 更新年月日時分秒
		bnPywyInfo.sendMessageString(CommonInfoCFConst.UPD_DTM_SEIKY_KEI_15, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("upd_dtm"));

		return bean;
	}

	/**
	 * 進捗登録上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK1091D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDateTimeStamp)
	{
		int srvCnt = 0; // サービス契約個数
		ArrayList list = null;
		ArrayList subList = null;
		HashMap childMap = null;
		HashMap subChildMap = 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 bnMobile = getMobile(bnWebinfo);

		// サービス契約個数算出
		// eo光ネット
		if (bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE).equals(SENTAKU))
		{
			srvCnt = srvCnt + 1;
		}
		// eo光テレビ
		if (bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE).equals(SENTAKU))
		{
			srvCnt = srvCnt + 1;
		}
		// eo光電話
		if (bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE).equals(SENTAKU))
		{
			srvCnt = srvCnt + 1;
		}
		// 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;
		}
		list = new ArrayList();

		for (int i = 0; i < srvCnt; i++)
		{
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put("func_code", func_code);
			// 異動区分
			childMap.put("ido_div", getIdoKbn(bnWebinfo));
			// 異動年月日時分秒
			childMap.put("ido_dtm", JFUWebCommon.getSysDateTimeStamp());

			// 進捗ステータス
			childMap.put("prg_stat", JFUStrConst.CD00647_0100);

			// 進捗特記事項１
			childMap.put("prg_tkjk_1", opeDateTimeStamp.substring(0, 14));

			// 異動理由明細
			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;
	}

	/**
	 * 進捗登録下りマッピング
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK1091D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		//		HashMap parentMap = null;
		//		if (outputMap.containsKey("EKK1091D010"))
		//		{
		//			parentMap = (HashMap)outputMap.get("EKK1091D010");
		//		}

		// なし

		return bean;
	}

	/**
	 * 機器提供サービス登録（eoモバイル）の上りマッピングをする
	 * 
	 * @param bean[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0341D01004(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// モバイル
		ArrayList list = null;
		// 宅内機器型式コード
		String taknkikiModelCd = "";
		// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
		// 宅内機器種別コード
		String taknkikiSbtCd = "";
		// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス
		//		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);
		// モバイル
		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);
		// 契約者情報
		X31SDataBeanAccess bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);
		// 利用場所情報
		X31SDataBeanAccess bnRiyobasyoinfo = getRiyobasyoinfo(bnWebinfo);
//		// マンション情報
//		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(bnWebinfo);
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);
		
//ANK-4498-00-00 MOD START
		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);
//ANK-4498-00-00 MOD END
		// モバイルコース
		String mobileCourse = bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		// モバイルコース：3G 7.2Mまたは、21Mまたは、光ハイブリッド、モバイルコース：WiMAX（黒ロム）の場合作成する。
		if (!(mobileCourse.equals(JFUStrConst.MOBILE_COURSE_3G_21M) || mobileCourse.equals(JFUStrConst.MOBILE_COURSE_3G_7_2M)
				|| mobileCourse.equals(JFUStrConst.MOBILE_COURSE_3G_HHB) || mobileCourse.equals(JFUStrConst.MOBILE_COURSE_3G_21M_HHB) || (mobileCourse
				.equals(JFUStrConst.MOBILE_COURSE_WIMAX) && bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17,
				X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.WIMAXROM_BLACK))))
		{
			return null;
		}

		// 7.2M 光ハイブリッドの場合、機器を複数登録する。 ※21Mは機器は1つ！！
		int mobCnt = 0;
		if (mobileCourse.equals(JFUStrConst.MOBILE_COURSE_3G_HHB))
		{
			// -----IT2-2012-0000884 2012/06/17 h.iwamoto 機器登録件数は2件いる-----
			mobCnt = 2;
		}
		else
		{
			mobCnt = 1;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		list = new ArrayList();
		HashMap<String, Object> childMap = new HashMap<String, Object>();

		for (int i = 0; i < mobCnt; i++)
		{
			// childMapの初期化
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put("func_code", func_code);
			// 通信機器
			if (mobileCourse.equals(JFUStrConst.MOBILE_COURSE_3G_21M))
			{
				// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
				// 宅内機器種別コード(イーモバイル機器)
				taknkikiSbtCd = JFUStrConst.TKNI_KIKI_SBT_CD_EMOBILE;
				// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END
				// 機器提供サービスコード
				childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C016);

				// -----IT1-2012-0001111 2012/10/05 h.iwamoto デッドロジック(仕様)で誤った実装がされたので削除 DEL-----

				// USBタイプの場合
				if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MOBILE_KIKI_USB))
				{
					// 料金コースコード
					childMap.put("pcrs_cd", JFUStrConst.CD00134_C29);
					// 料金プランコード
					childMap.put("pplan_cd", JFUStrConst.CD00565_PC2901);
					// 宅内機器型式コード
					/** 2012/02/18 楠山 量販・訪販用処理 変更 END */
					if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.HNBAI_TYPE_RYOHAN)
							|| bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.HNBAI_TYPE_HOHAN))
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_2");
					}
					else
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_2");
					}
					/** 2012/02/18 楠山 量販・訪販用処理 変更 END */
				}
			}
			else if (mobileCourse.equals(JFUStrConst.MOBILE_COURSE_3G_7_2M))
			{
				// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
				// 宅内機器種別コード(イーモバイル機器)
				taknkikiSbtCd = JFUStrConst.TKNI_KIKI_SBT_CD_EMOBILE;
				// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END
				// 機器提供サービスコード
				childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C016);

				// ルータタイプの場合
				if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MOBILE_KIKI_ROUTER))
				{
					// 料金コースコード
					childMap.put("pcrs_cd", JFUStrConst.CD00134_C27);
					// 料金プランコード
					childMap.put("pplan_cd", JFUStrConst.CD00565_PC2701);
					// 宅内機器型式コード
					/** 2012/02/18 楠山 量販・訪販用処理 変更 END */
					if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.HNBAI_TYPE_RYOHAN)
							|| bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.HNBAI_TYPE_HOHAN))
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_3");
					}
					else
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_3");
					}
					/** 2012/02/18 楠山 量販・訪販用処理 変更 END */
				}
				// USBタイプの場合
				if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MOBILE_KIKI_USB))
				{
					// 料金コースコード
					childMap.put("pcrs_cd", JFUStrConst.CD00134_C28);
					// 料金プランコード
					childMap.put("pplan_cd", JFUStrConst.CD00565_PC2801);

					// 宅内機器型式コード
					/** 2012/02/18 楠山 量販・訪販用処理 変更 END */
					if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.HNBAI_TYPE_RYOHAN)
							|| bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.HNBAI_TYPE_HOHAN))
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_4");
					}
					else
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_4");
					}
					/** 2012/02/18 楠山 量販・訪販用処理 変更 END */
				}
			}
			else if (mobileCourse.equals(JFUStrConst.MOBILE_COURSE_3G_HHB))
			{
				// 光ハイブリッド機器１
				if (i == 0)
				{
					// 【TAI-2013-0000007】クレードル宅内型式種別コード修正 >>>
					// 宅内機器種別コード(イーモバイル機器)
					taknkikiSbtCd = JFUStrConst.TKNI_KIKI_SBT_CD_EMOBILE;
					// 【TAI-2013-0000007】クレードル宅内型式種別コード修正 <<<E

					// -----IT2-2012-0000884 2012/06/17 h.iwamoto 機器登録が暫定であった為修正する START-----
					// 機器提供サービスコード C016
					childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C016);
					// 料金コースコード C27
					childMap.put("pcrs_cd", JFUStrConst.CD00134_C27);
					// 料金プランコード PC2701
					childMap.put("pplan_cd", JFUStrConst.CD00565_PC2701);
					// 宅内機器型式コード
					if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.HNBAI_TYPE_RYOHAN)
							|| bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.HNBAI_TYPE_HOHAN))
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_7");
					}
					else
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_7");
					}
					// -----IT2-2012-0000884 2012/06/17 h.iwamoto 機器登録が暫定であった為修正する END-----
				}
				else
				{
					// 光ハイブリッド機器２
					// 【TAI-2013-0000007】クレードル宅内型式種別コード修正 >>>
					// 宅内機器種別コード(クレードル機器)
					taknkikiSbtCd = JFUStrConst.CD01262_L0;
					// 【TAI-2013-0000007】クレードル宅内型式種別コード修正 <<<E

					// -----IT2-2012-0000884 2012/06/17 h.iwamoto 機器登録が暫定であった為修正する START-----
					// 機器提供サービスコード C020
					childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C020);
					// 料金コースコード C37
					childMap.put("pcrs_cd", JFUStrConst.CD00134_C37);
					// 料金プランコード PC3701
					childMap.put("pplan_cd", JFUStrConst.CD00565_PC3701);
					// 宅内機器型式コード
					if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.HNBAI_TYPE_RYOHAN)
							|| bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.HNBAI_TYPE_HOHAN))
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_8");
					}
					else
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_8");
					}
					// -----IT2-2012-0000884 2012/06/17 h.iwamoto 機器登録が暫定であった為修正する END-----
				}
			}
			else if (mobileCourse.equals(JFUStrConst.MOBILE_COURSE_3G_21M_HHB))
			{
				// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
				// 宅内機器種別コード(イーモバイル機器)
				taknkikiSbtCd = JFUStrConst.TKNI_KIKI_SBT_CD_EMOBILE;
				// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END
				// ----- IT1-2012-0001111 2012/10/05 h.iwamoto ロット1に引き続き値がまた設定値が暫定ですか？ START -----
				//				childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C020);
				//				// 料金コースコード C37
				//				childMap.put("pcrs_cd", JFUStrConst.CD00134_C37);
				//				// 料金プランコード PC3701
				//				childMap.put("pplan_cd", JFUStrConst.CD00565_PC3701);
				// 機器提供サービスコード C016
				childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C016);
				// 料金コースコード C38
				childMap.put("pcrs_cd", JFUStrConst.CD00134_C38);
				// 料金プランコード PC3801
				childMap.put("pplan_cd", JFUStrConst.CD00565_PC3801);
				// ----- IT1-2012-0001111 2012/10/05 h.iwamoto ロット1に引き続き値がまた設定値が暫定ですか？ END -----
				if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.HNBAI_TYPE_RYOHAN)
						|| bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.HNBAI_TYPE_HOHAN))
				{
					taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_9");
				}
				else
				{
					taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_9");
				}
			}
			else if (mobileCourse.equals(JFUStrConst.MOBILE_COURSE_WIMAX)
					&& bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.WIMAXROM_BLACK))
			{
				// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
				// 宅内機器種別コード(UQ機器)
				taknkikiSbtCd = JFUStrConst.TKNI_KIKI_SBT_CD_UQ;
				// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 END
				// 機器提供サービスコード
				childMap.put("kktk_svc_cd", JFUStrConst.KK0771_KKTK_SVC_CD_C017);
				// ルータタイプの場合
				if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.MOBILE_KIKI_ROUTER))
				{
					// 料金コースコード
					childMap.put("pcrs_cd", JFUStrConst.CD00134_C30);
					// 料金プランコード
					childMap.put("pplan_cd", JFUStrConst.CD00565_PC3001);

					// 宅内機器型式コード
					/** 2012/02/18 楠山 量販・訪販用処理 変更 START */
					if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.HNBAI_TYPE_RYOHAN)
							|| bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.HNBAI_TYPE_HOHAN))
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_5");
					}
					else
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_5");
					}
					/** 2012/02/18 楠山 量販・訪販用処理 変更 END */
				}
				// USBタイプの場合
				if (bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_KIKI_14, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MOBILE_KIKI_USB))
				{
					// 料金コースコード
					childMap.put("pcrs_cd", JFUStrConst.CD00134_C31);
					// 料金プランコード 
					childMap.put("pplan_cd", JFUStrConst.CD00565_PC3101);
					// 宅内機器型式コード
					/** 2012/02/18 楠山 量販・訪販用処理 変更 START */
					if (bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
							JFUStrConst.HNBAI_TYPE_RYOHAN)
							|| bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE).equals(
									JFUStrConst.HNBAI_TYPE_HOHAN))
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00927, "TKNKK_MDL_CD_6");
					}
					else
					{
						taknkikiModelCd = JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00114, "TKNKK_MDL_CD_6");
					}
					/** 2012/02/18 楠山 量販・訪販用処理 変更 END */
				}
			}
			// 機器提供種別コード
			childMap.put("kktk_sbt_cd", JFUStrConst.CD00212_01);
			// 共有フォームBean.契約者情報.氏名（姓）+（姓）/共有フォームBean.契約者情報.法人名 → 契約者機器送付先名
			childMap.put("kiki_sohus_nm", getKshnm(bnWebinfo, bnKeiyakuinfo));
			// 機器送付先カナ名
			childMap.put("kiki_sohus_kana", getKshnmKna(bnWebinfo, bnKeiyakuinfo));
			
			//マンションの場合
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）
			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))
			{
				// 機器送付先郵便番号
				childMap.put("kiki_sohus_pcd", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD1_09, X31CWebConst.DATABEAN_GET_VALUE)
						+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_PCD2_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先住所補記・建物名
				childMap.put("kiki_sohus_adrttm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TTM_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先住所補記・部屋番号
				childMap.put("kiki_sohus_adrrm", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_RRM_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先電話番号
				childMap.put("kiki_sohus_telno", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO1_09, X31CWebConst.DATABEAN_GET_VALUE)
						+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO2_09, X31CWebConst.DATABEAN_GET_VALUE)
						+ bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_TELNO3_09, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先＿契約者住所差異フラグ
				childMap.put("kiki_sohus_ksh_ad_sai_flg",JFUStrConst.KK0341_KIKI_SOHUS_KSH_AD_SAI_FLG_0);

				//ホーム・メゾンの申し込みとマンションの契約中回線へのサービス追加申込の場合
			}else
			{
				//機器送付先郵便番号
				childMap.put("kiki_sohus_pcd", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE)
						+ bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先住所補記・建物名
				childMap.put("kiki_sohus_adrttm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先住所補記・部屋番号
				childMap.put("kiki_sohus_adrrm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
				// 機器送付先電話番号
				childMap.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));
				// 機器送付先＿契約者住所差異フラグ
				childMap.put("kiki_sohus_ksh_ad_sai_flg", getKysAddSaiFlg(bnKeiyakuinfo));
			}
//ANK-4498-00-00 MOD END

			// マンション物件番号
			//			childMap.put("mansion_bukken_no", bnMansioninfo.sendMessageString(CommonInfoCFConst.MANSION_NO_16, X31CWebConst.DATABEAN_GET_VALUE));
			// 2012/11/02 IT1-2012-0001784 Y.Saitou DEL
			// 機器設置先名
			//childMap.put("kiki_stc_saki_nm", getKshnm(bnWebinfo, bnKeiyakuinfo));
			// 2012/11/02 IT1-2012-0001783 yamashita DEL
			// 機器設置先カナ名
			//childMap.put("kiki_stc_saki_kana", getKshnmKna(bnWebinfo, bnKeiyakuinfo));

			// No319 2013/01/26 Otsuka モバイルの場合は機器設置先が設定されない。start
			// 機器設置先郵便番号
			//			childMap.put("kiki_stc_saki_pcd", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD1_08, X31CWebConst.DATABEAN_GET_VALUE)
			//					+ bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_PCD2_08, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器設置先住所補記・建物名
			//			childMap.put("kiki_stc_saki_adrttm", bnRiyobasyoinfo
			//					.sendMessageString(CommonInfoCFConst.USEPLACE_TTM_08, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器設置先住所補記・部屋番号
			//			childMap
			//					.put("kiki_stc_saki_adrrm", bnRiyobasyoinfo.sendMessageString(CommonInfoCFConst.USEPLACE_RRM_08, X31CWebConst.DATABEAN_GET_VALUE));
			// 機器設置先＿契約者住所差異フラグ 
			// childMap.put("kiki_stc_sk_ksh_ad_sai_flg", getKysAddSaiFlg(bnKeiyakuinfo));
			// 機器設置先電話番号 
			//			childMap.put("kiki_stc_sk_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));
			// No319 2013/01/26 Otsuka モバイルの場合は機器設置先が設定されない。end
			// 機器設置先住所確定後変更可否 削除 Otsuka

			// SYSID
			childMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
			// 販売種別コード
			childMap.put("hambai_sbt_cd", JFUStrConst.CD00348_10);
			// 親契約識別コード
			childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_01);
			// 異動区分
			childMap.put("ido_div", getIdoKbn(bnWebinfo));
			// 配送区分
			childMap.put("haiso_div", JFUStrConst.CD00020_00);
			// ↓↓■2011/10/15 機器IF項目追加対応■↓↓
			// TAI-2012-0000136 2012/12/27 h.iwamoto ハイブリッド抜け落ち対応 START
			// 宅内機器種別コード
			childMap.put("taknkiki_sbt_cd", taknkikiSbtCd);
			// TAI-2012-0000136 2012/12/27 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));

			/* 2013/02/14 KT1-2013-0000162 Y.Saitou DEL */

			// 住所未確定フラグ
			childMap.put("ad_mi_fix_flg", getAdMiFixFlg(bnRiyobasyoinfo));
			// 機器送付先個別指定フラグ
			// 2012.2.21 UPDATE START 0⇒1に変更 *******************************/
			childMap.put("kiki_shs_kbt_shitei_flg", JFUStrConst.KK0341_KIKI_SHS_KBT_SHITEI_FLG_1);
			// 2012.2.21 UPDATE END 0⇒1に変更   *******************************/

			// 2012/09/21 追加 Otsuka start
			// 機器送付先住所手動入力フラグ
			childMap.put("kiki_shs_ad_man_input_flg", JFUStrConst.CD01239_0);
			// 2012/09/21 追加 Otsuka end

			list.add(childMap);
		}
		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))
		{
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）

			parentMap.put("MSKM_MNS_TYPE",bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));
		}
		parentMap.put("EKK0341D010MobList", list);
		outputMap.put("EKK0341D010Mob", parentMap);

		return outputMap;
	}

	/**
	 * 機器提供サービス＜ｅｏ光ネット＞の下りマッピング
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0341D01001(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		X31SDataBeanAccess[] net_list = null;
		int cntAry = 0;

		if (outputMap.containsKey("EKK0341D010Net"))
		{
			parentMap = (HashMap)outputMap.get("EKK0341D010Net");
		}
		else
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(web_new_infobean);
		X31SDataBeanAccessArray net_infobean_array = bnEonet.getDataBeanArray(CommonInfoCFConst.KIKI_INFO_NET);

		// 光ネット機器レコード作成
		cntAry = net_infobean_array.getCount();
		/** 2012/3/1 楠山 変更 START*/
		if (0 == cntAry)
		{
			net_list = new X31SDataBeanAccess[cntAry + 1];
		}
		else
		{
			net_list = new X31SDataBeanAccess[cntAry];
		}
		/** 2012/3/1 楠山 変更 END*/

		cntAry = 0;
		/** 2012/3/1 楠山 変更 START*/
		if (null == net_infobean_array.getDataBean(cntAry))
		{
			net_infobean_array.addDataBean();
		}
		/** 2012/3/1 楠山 変更 END*/
		net_list[cntAry] = net_infobean_array.getDataBean(cntAry);
		net_list[cntAry].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
				.get("kktk_svc_kei_no"));
		net_list[cntAry].sendMessageString(CommonInfoCFConst.UPD_DTM_KKTK_SVC_KEI_19, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
				.get("upd_dtm"));

		return bean;
	}

	/**
	 * 機器提供サービス＜ｅｏ光テレビ＞の下りマッピング
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0341D01002(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		HashMap chldMap = null;
		int cntMap = 0;
		int cntAry = 0;

		if (outputMap.containsKey("EKK0341D010Tv"))
		{
			parentMap = (HashMap)outputMap.get("EKK0341D010Tv");
		}
		else
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光テレビ
		X31SDataBeanAccess bnEotv = getEotv(web_new_infobean);
		X31SDataBeanAccessArray tv_infobean_array = bnEotv.getDataBeanArray(CommonInfoCFConst.KIKI_INFO_TV);
		X31SDataBeanAccess[] tv_list = null;

		// マップカウント
		cntMap = ((ArrayList)parentMap.get("EKK0341D010TvList")).size();
		// 共有フォームBeanカウント
		cntAry = tv_infobean_array.getCount();
		tv_list = new X31SDataBeanAccess[cntMap];
		if (cntMap > cntAry)
		{
			for (int i = 0; i < cntMap - cntAry; i++)
			{
				tv_list[cntAry + i] = tv_infobean_array.addDataBean();
			}
		}
		// 光テレビレコード作成
		for (int index = 0; index < cntMap; index++)
		{
			tv_list[index] = tv_infobean_array.getDataBean(index);

			chldMap = (HashMap)((ArrayList)parentMap.get("EKK0341D010TvList")).get(index);
			// 機器提供サービス契約番号
			tv_list[index].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_SET_VALUE, (String)chldMap
					.get("kktk_svc_kei_no"));
			// 更新年月日時分秒（機器提供サービス契約）
			tv_list[index].sendMessageString(CommonInfoCFConst.UPD_DTM_KKTK_SVC_KEI_19, X31CWebConst.DATABEAN_SET_VALUE, (String)chldMap
					.get("upd_dtm"));
		}
		return bean;
	}

	/**
	 * 機器提供サービス＜ｅｏ光電話＞の下りマッピング
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0341D01003(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		HashMap chldMap = null;
		int cntMap = 0;
		int cntAry = 0;

		if (outputMap.containsKey("EKK0341D010Tel"))
		{
			parentMap = (HashMap)outputMap.get("EKK0341D010Tel");
		}
		else
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(web_new_infobean);
		X31SDataBeanAccessArray tel_infobean_array = bnEotel[0].getDataBeanArray(CommonInfoCFConst.KIKI_INFO_TEL);
		X31SDataBeanAccess[] tel_list = null;

		// マップカウント
		cntMap = ((ArrayList)parentMap.get("EKK0341D010TelList")).size();
		// 共有フォームBeanカウント
		cntAry = tel_infobean_array.getCount();
		tel_list = new X31SDataBeanAccess[cntMap];
		if (cntMap > cntAry)
		{
			for (int i = 0; i < cntMap - cntAry; i++)
			{
				tel_list[cntAry + i] = tel_infobean_array.addDataBean();
			}
		}

		// 光電話レコード作成
		for (int index = 0; index < cntMap; index++)
		{
			tel_list[index] = tel_infobean_array.getDataBean(index);

			chldMap = (HashMap)((ArrayList)parentMap.get("EKK0341D010TelList")).get(index);
			// 機器提供サービス契約番号
			tel_list[index].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_SET_VALUE, (String)chldMap
					.get("kktk_svc_kei_no"));
			// 更新年月日時分秒（機器提供サービス契約）
			tel_list[index].sendMessageString(CommonInfoCFConst.UPD_DTM_KKTK_SVC_KEI_19, X31CWebConst.DATABEAN_SET_VALUE, (String)chldMap
					.get("upd_dtm"));
		}
		return bean;
	}

	/**
	 * 機器オプションサービス契約＜ｅｏ光電話＞の下りマッピング
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK2811D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		HashMap chldMap = null;
		int cntMap = 0;
		int cntAry = 0;

		if (outputMap.containsKey("EKK2811D010Tel"))
		{
			parentMap = (HashMap)outputMap.get("EKK2811D010Tel");
		}
		else
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(web_new_infobean);
		X31SDataBeanAccessArray tel_infobean_array = bnEotel[0].getDataBeanArray(CommonInfoCFConst.KIKI_INFO_TEL);
		X31SDataBeanAccess[] tel_list = null;

		// マップカウント
		cntMap = ((ArrayList)parentMap.get("EKK2811D010TelList")).size();
		// 共有フォームBeanカウント
		cntAry = tel_infobean_array.getCount();
		tel_list = new X31SDataBeanAccess[cntMap];
		if (cntMap > cntAry)
		{
			for (int i = 0; i < cntMap - cntAry; i++)
			{
				tel_list[cntAry + i] = tel_infobean_array.addDataBean();
			}
		}

		// 光電話レコード作成
		for (int index = 0; index < cntMap; index++)
		{
			tel_list[index] = tel_infobean_array.getDataBean(index);

			chldMap = (HashMap)((ArrayList)parentMap.get("EKK2811D010TelList")).get(index);

			// 機器オプションサービス契約番号
			tel_list[index].sendMessageString(CommonInfoCFConst.KKOP_SVC_KEI_NO_19, X31CWebConst.DATABEAN_SET_VALUE,
					(String)parentMap.get("kkop_svc_kei_no"));
		}
		return bean;
	}

	/**
	 * 機器提供サービス＜ｅｏモバイル＞の下りマッピング
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0341D01004(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		HashMap chldMap = null;
		int cntMap = 0;
		int cntAry = 0;

		if (outputMap.containsKey("EKK0341D010Mob"))
		{
			parentMap = (HashMap)outputMap.get("EKK0341D010Mob");
		}
		else
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// eoモバイル
		X31SDataBeanAccess bnMob = getMobile(web_new_infobean);
		X31SDataBeanAccessArray mob_infobean_array = bnMob.getDataBeanArray(CommonInfoCFConst.KIKI_INFO_MOBILE);
		X31SDataBeanAccess[] mob_list = null;

		// マップカウント
		cntMap = ((ArrayList)parentMap.get("EKK0341D010MobList")).size();
		// 共有フォームBeanカウント
		cntAry = mob_infobean_array.getCount();
		mob_list = new X31SDataBeanAccess[cntMap];
		if (cntMap > cntAry)
		{
			for (int i = 0; i < cntMap - cntAry; i++)
			{
				mob_list[cntAry + i] = mob_infobean_array.addDataBean();
			}
		}

		// eoモバイルレコード作成
		for (int index = 0; index < cntMap; index++)
		{
			mob_list[index] = mob_infobean_array.getDataBean(index);

			chldMap = (HashMap)((ArrayList)parentMap.get("EKK0341D010MobList")).get(index);
			// -----IT2-2012-0000831 h.iwamoto マッピング元誤り修正 START------
			mob_list[index].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_SET_VALUE, (String)chldMap
					.get("kktk_svc_kei_no"));
			// 更新年月日時分秒（機器提供サービス契約）
			mob_list[index].sendMessageString(CommonInfoCFConst.UPD_DTM_KKTK_SVC_KEI_19, X31CWebConst.DATABEAN_SET_VALUE, (String)chldMap
					.get("upd_dtm"));
			// -----IT2-2012-0000831 h.iwamoto マッピング元誤り修正 END------
		}
		return bean;
	}

	/**
	 * 機器提供サービス＜ONU＞の下りマッピング
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0341D01005(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		X31SDataBeanAccess bnOnuNet = null;
		X31SDataBeanAccess[] bnOnuTel = null;
		X31SDataBeanAccessArray onu_infobean_array = null;
		X31SDataBeanAccess[] onu_list = null;
		String bfWork = "";

		if (outputMap.containsKey("EKK0341D010Onu"))
		{
			parentMap = (HashMap)outputMap.get("EKK0341D010Onu");
		}
		else
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);

		// ネット又は、電話
		HashMap inEKK0091 = (HashMap)outputMap.get("EKK0091D010");
		//		HashMap inEKK0111 = (HashMap)outputMap.get("EKK0111D010");

		if (inEKK0091 != null)
		{
			// eo光ネット
			bnOnuNet = getEonet(web_new_infobean);
			onu_infobean_array = bnOnuNet.getDataBeanArray(CommonInfoCFConst.KIKI_INFO_NET);
		}
		else
		{
			// eo光電話
			bnOnuTel = getEotel(web_new_infobean);
			onu_infobean_array = bnOnuTel[0].getDataBeanArray(CommonInfoCFConst.KIKI_INFO_TEL);
		}

		// ONUレコード作成
		int cntOnu = onu_infobean_array.getCount();
		onu_list = new X31SDataBeanAccess[cntOnu + 1];
		if (cntOnu > 0)
		{
			// 前回機器があるか
			onu_list[cntOnu - 1] = onu_infobean_array.getDataBean(cntOnu - 1);
			bfWork = onu_list[cntOnu - 1].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_GET_VALUE);
			if (bfWork.length() == 0)
			{
				cntOnu = 0;
			}
			else if (bfWork.length() > 0)
			{
				onu_infobean_array.addDataBean();
			}
		}
		/** 2012/3/1 楠山 変更 START*/
		if (null == onu_infobean_array.getDataBean(cntOnu))
		{
			onu_infobean_array.addDataBean();
		}
		/** 2012/3/1 楠山 変更 END*/
		onu_list[cntOnu] = onu_infobean_array.getDataBean(cntOnu);
		onu_list[cntOnu].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
				.get("kktk_svc_kei_no"));
		// 更新年月日時分秒（機器提供サービス契約）
		onu_list[cntOnu].sendMessageString(CommonInfoCFConst.UPD_DTM_KKTK_SVC_KEI_19, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
				.get("upd_dtm"));

		return bean;
	}

	/**
	 * 機器提供サービス＜VONU＞の下りマッピング
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0341D01006(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap parentMap = null;
		String bfWork = "";

		//		int cntMap = 0;
		//		int cntAry = 0;

		if (outputMap.containsKey("EKK0341D010Vonu"))
		{
			parentMap = (HashMap)outputMap.get("EKK0341D010Vonu");
		}
		else
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess web_new_infobean = getWebInfo(bean[0]);
		// eo光テレビ
		X31SDataBeanAccess bnEotv = getEotv(web_new_infobean);
		X31SDataBeanAccessArray tv_infobean_array = bnEotv.getDataBeanArray(CommonInfoCFConst.KIKI_INFO_TV);
		X31SDataBeanAccess[] tv_list = null;

		// eoテレビレコード作成
		int cntTv = tv_infobean_array.getCount();
		tv_list = new X31SDataBeanAccess[cntTv + 1];
		if (cntTv > 0)
		{
			// 前回機器があるか
			tv_list[cntTv - 1] = tv_infobean_array.getDataBean(cntTv - 1);
			bfWork = tv_list[cntTv - 1].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_GET_VALUE);
			if (bfWork.length() == 0)
			{
				cntTv = 0;
			}
			else if (bfWork.length() > 0)
			{
				tv_infobean_array.addDataBean();
			}
		}
		/** 2012/3/1 楠山 変更 START*/
		if (null == tv_infobean_array.getDataBean(cntTv))
		{
			tv_infobean_array.addDataBean();
		}
		/** 2012/3/1 楠山 変更 END*/
		tv_list[cntTv] = tv_infobean_array.getDataBean(cntTv);
		tv_list[cntTv].sendMessageString(CommonInfoCFConst.KKTK_SVC_KEI_NO_19, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
				.get("kktk_svc_kei_no"));
		// 更新年月日時分秒（機器提供サービス契約）
		tv_list[cntTv]
				.sendMessageString(CommonInfoCFConst.UPD_DTM_KKTK_SVC_KEI_19, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap.get("upd_dtm"));

		return bean;
	}

	/**
	 * 利用場所情報登録の下りマッピング
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0251D010(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		HashMap childMap = null;
		int cntAry = 0;
		String wrkSvcKeiKaisenUcwkno = "";
		String wrkGeneAddDtm = "";

		HashMap parentMap = null;
		if (outputMap.containsKey("EKK0251D010"))
		{
			parentMap = (HashMap)outputMap.get("EKK0251D010");
		}
		else
		{
			return bean;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(bnWebinfo);

		// IT1-2012-0001846 2012/11/02 h.iwamoto START
		String taihiKaisen = bnKeiService.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10, X31CWebConst.DATABEAN_GET_VALUE);
		// IT1-2012-0001846 2012/11/02 h.iwamoto END

		// リスト個数取得
		cntAry = ((ArrayList)parentMap.get("EKK0251D010List")).size();
		for (int index = 0; index < cntAry; index++)
		{
			// 下りマップからデータ取得
			childMap = (HashMap)((ArrayList)parentMap.get("EKK0251D010List")).get(index);

			// サービス契約回線内訳番号
			if (wrkSvcKeiKaisenUcwkno.length() > 0)
			{
				wrkSvcKeiKaisenUcwkno = wrkSvcKeiKaisenUcwkno + ",";
			}
			wrkSvcKeiKaisenUcwkno = wrkSvcKeiKaisenUcwkno + (String)childMap.get("svc_kei_kaisen_ucwk_no");

			// 更新年月日時分秒
			if (wrkGeneAddDtm.length() > 0)
			{
				wrkGeneAddDtm = wrkGeneAddDtm + ",";
			}
			wrkGeneAddDtm = wrkGeneAddDtm + (String)childMap.get("gene_add_dtm");
		}

		// 契約サービス情報.サービス契約回線内訳番号 ←
		// サービス契約回線内訳登録マップ.svc_kei_kaisen_ucwk_no(サービス契約回線内訳番号)
		if (wrkSvcKeiKaisenUcwkno != null && !wrkSvcKeiKaisenUcwkno.trim().equals("") && JFUStrConst.EMPTY.equals(taihiKaisen)) // IT1-2012-0001846 2012/11/02 条件変更 h.iwamoto
		{
			bnKeiService.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10, X31CWebConst.DATABEAN_SET_VALUE, wrkSvcKeiKaisenUcwkno);
		}
		// 契約サービス情報.更新年月日時分秒（サービス契約回線内訳） ← サービス契約回線内訳登録マップ.世代登録年月日時分秒
		bnKeiService.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_KEI_KAISEN_UCWK_10, X31CWebConst.DATABEAN_SET_VALUE, wrkGeneAddDtm);

		return bean;
	}

	/**
	 * 利用場所住所分割処理上りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015211CC(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 bnRiyobasho = getRiyobasyoinfo(bnWebinfo);

		// 利用場所：都道府県・市区町村
		parentMap.put("state_city", bnRiyobasho.sendMessageString(CommonInfoCFConst.USEPLACE_STATE_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 利用場所：字
		parentMap.put("aza", bnRiyobasho.sendMessageString(CommonInfoCFConst.USEPLACE_AZA_08, X31CWebConst.DATABEAN_GET_VALUE));
		// 利用場所：丁目・番地等
		parentMap.put("chome_bnchi", bnRiyobasho.sendMessageString(CommonInfoCFConst.USEPLACE_CHO_BNCHI_08, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("FUSV015211CC", parentMap);

		return outputMap;
	}

	/**
	 * 契約者住所分割処理上りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015212CC(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 bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);

		// 申込区分
		String mskmKbn = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		// ご契約者住所（現住所）の変更状況
		String kshGenaddChangeJk = bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_GENADD_CHANGE_JK_09, X31CWebConst.DATABEAN_GET_VALUE);

		if(JFUStrConst.MSKM_KBN_ADD.equals(mskmKbn) && !JFUWebCommon.isNull(kshGenaddChangeJk) && !"0".equals(kshGenaddChangeJk))
		{
			// サービス追加,回線追加で契約者住所を変更する場合

			// 契約者情報：都道府県・市区町村
			parentMap.put("state_city", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_STATE_BF_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 契約者情報：字
			parentMap.put("aza", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_AZA_BF_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 契約者情報：丁目・番地等
			parentMap.put("chome_bnchi", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_BF_09, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// 上記外の場合

			// 契約者情報：都道府県・市区町村
			parentMap.put("state_city", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_STATE_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 契約者情報：字
			parentMap.put("aza", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_AZA_09, X31CWebConst.DATABEAN_GET_VALUE));
			// 契約者情報：丁目・番地等
			parentMap.put("chome_bnchi", bnKeiyakuinfo.sendMessageString(CommonInfoCFConst.KSH_CHO_BNCHI_09, X31CWebConst.DATABEAN_GET_VALUE));
		}

		outputMap.put("FUSV015212CC", parentMap);

		return outputMap;
	}

	/**
	 * オプションサービス契約＜ISP＞登録上りマッピング
	 *  光ネット用（Eメール、Myホームページ）
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param outMapNm outputMap名
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0361D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String outMapNm)
	{
		HashMap childMap = null;
		String mobCrs = "";// モバイルコース
		ArrayList list = 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 bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);
		// 光ネット
		//		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		// モバイル
		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);

		// モバイルコース
		mobCrs = bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);
		if (outMapNm.equals(OP_SVC_MOB))
		{
			// ST2-2013-0000057 Otsuka 2013/01/13 start 7.2Mと21Mのハイブリッドを条件に追加
			// モバイルコース：3G 7.2M、3G 21M、WiMAXの場合作成する。
			if (!(mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_21M) || mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_7_2M)
					|| mobCrs.equals(JFUStrConst.MOBILE_COURSE_WIMAX) || mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_HHB) || mobCrs
					.equals(JFUStrConst.MOBILE_COURSE_3G_21M_HHB)))
			{
				return null;
			}
			// ST2-2013-0000057 Otsuka 2013/01/13 end
		}

		int trkCnt = 2; // 登録数（Eメール、Myホームページ）

		list = new ArrayList();
		for (int i = 0; i < trkCnt; i++)
		{
			// childMapの初期化
			childMap = new HashMap();

			// 共通情報のマッピング
			childMap.put("func_code", func_code);
			if (i == 0)
			{
				// Eメール
				// オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B001);
				// 料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B01);
				// 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB0101);
				// 2013/01/24 容量取得対応 サービスIFで取得するため、コメントアウト。
				//childMap.put("capa", "200");

				// 2013/01/24 容量取得対応 容量を取得するためのキーを追加。
				// サブオプションサービスコード
				childMap.put("sbop_svc_cd", JFUStrConst.CD00134_D02);
			}
			else if (i == 1)
			{
				// Myホームページ
				// オプションサービスコード
				childMap.put("op_svc_cd", JFUStrConst.CD00136_B002);
				// 料金コースコード
				childMap.put("pcrs_cd", JFUStrConst.CD00134_B02);
				// 料金プランコード
				childMap.put("pplan_cd", JFUStrConst.CD00565_PB0201);
				// 2013/01/24 容量取得対応 サービスIFで取得するため、コメントアウト。
				//childMap.put("capa", "20");

				// 2013/01/24 容量取得対応 容量を取得するためのキーを追加。
				// サブオプションサービスコード
				childMap.put("sbop_svc_cd", JFUStrConst.CD00134_D04);
			}
			// SYSID
			childMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
			// 親契約識別コード
			childMap.put("oya_kei_skbt_cd", JFUStrConst.CD00804_01);
			// サービス利用開始希望年月日
			//「IT2-2012-0002142」サービス開始希望年月日>>>値設定不要のため、空を無条件で設定する
			childMap.put("svc_use_sta_kibo_ymd", null);
			//「IT2-2012-0002142」サービス開始希望年月日<<<E
			// 異動区分
			childMap.put("ido_div", getIdoKbn(bnWebinfo));

			// 2013/01/24 容量取得対応 容量を取得するためのキーを追加。
			// 画面で選択されている料金コースコード
			if (outMapNm.equals(OP_SVC_MOB))
			{
				childMap.put("select_pcrs_cd", this.getMobilePcrsCd(bean));
			}
			else
			{
				childMap.put("select_pcrs_cd", this.getNetPcrsCd(bean));
			}

			list.add(childMap);
			
// ANK-4427-00-00 ADD START
			if(JFUWebCommon.isTypen(bean[0])){
				break;
			}
// ANK-4427-00-00 ADD END
		}
		parentMap.put(outMapNm + "List", list);
		outputMap.put(outMapNm, parentMap);

		return outputMap;
	}

	/**
	 * オプションサービス契約＜ISP＞登録下りマッピング
	 * 光ネット用（Eメール、Myホームページ）
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param outMapNm
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getEKK0361D010(X31SDataBeanAccess[] bean, HashMap outputMap, String outMapNm)
	{
		HashMap childMap = null;
		int cntAry = 0;
		String wrkOpSvcKeiNo = "";
		String wrkUpDtm = "";
		//		HashMap parentMap = null;
		String sifId = "";

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		// モバイル情報
		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);

		// ネット、モバイル登録検索
		if (outMapNm.equals(OP_SVC_NET))
		{
			sifId = OP_SVC_NET;
		}
		else if (outMapNm.equals(OP_SVC_MOB))
		{
			sifId = OP_SVC_MOB;
		}
		HashMap inOpSvcNetMap = (HashMap)outputMap.get(sifId);
		if (inOpSvcNetMap != null)
		{
			cntAry = ((ArrayList)inOpSvcNetMap.get(sifId + "List")).size();
			for (int index = 0; index < cntAry; index++)
			{
				childMap = (HashMap)((ArrayList)inOpSvcNetMap.get(sifId + "List")).get(index);

				// オプションサービス契約番号
				if (wrkOpSvcKeiNo.length() > 0)
				{
					wrkOpSvcKeiNo = wrkOpSvcKeiNo + ",";
				}
				wrkOpSvcKeiNo = wrkOpSvcKeiNo + (String)childMap.get("op_svc_kei_no");

				// 更新年月日時分秒
				if (wrkUpDtm.length() > 0)
				{
					wrkUpDtm = wrkUpDtm + ",";
				}
				wrkUpDtm = wrkUpDtm + (String)childMap.get("upd_dtm");
			}
		}

		if (OP_SVC_NET.equals(sifId))
		{
			// 共有フォームBean.オプションサービス契約番号(ネット) ← オプションサービス契約＜ISP＞登録マップ.オプションサービス契約番号
			bnEonet.sendMessageString(CommonInfoCFConst.OP_SVC_KEI_NO_11, X31CWebConst.DATABEAN_SET_VALUE, wrkOpSvcKeiNo);
			// 共有フォームBean.更新年月日時分秒（オプションサービス契約内）←オプションサービス契約＜ISP＞登録マップ.更新年月日時分秒
			bnEonet.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_OP_11, X31CWebConst.DATABEAN_SET_VALUE, wrkUpDtm);

		}
		else if (OP_SVC_MOB.equals(sifId))
		{
			// 共有フォームBean.オプションサービス契約番号(モバイル) ← オプションサービス契約＜ISP＞登録マップ.オプションサービス契約番号
			bnMobile.sendMessageString(CommonInfoCFConst.OP_SVC_KEI_NO_14, X31CWebConst.DATABEAN_SET_VALUE, wrkOpSvcKeiNo);
			// 共有フォームBean.更新年月日時分秒（オプションサービス契約）←オプションサービス契約＜ISP＞登録マップ.更新年月日時分秒
			bnMobile.sendMessageString(CommonInfoCFConst.UPD_DTM_SVC_OP_14, X31CWebConst.DATABEAN_SET_VALUE, wrkUpDtm);
		}

		return bean;
	}

	/**
	 * 紹介一意照会の上りマッピングをする(FUSV015216SC)
	 * 
	 * @param outputMap
	 * @return outputMap
	 * @throws Exception
	 */
	public HashMap<String, Object> setEKK0311A010(HashMap<String, Object> outputMap, String couponCd) throws Exception
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// リダイレクト情報.紹介者コード → 紹介一意照会.紹介コード
		parentMap.put("key_intr_cd", couponCd);

		ArrayList arrayList = new ArrayList<HashMap>();
		HashMap detailMap = new HashMap();
		arrayList.add(detailMap);
		parentMap.put("EKK0311A010CBSMsg1List", arrayList);

		outputMap.put("EKK0311A010", parentMap);

		return outputMap;
	}

	/**
	 * 紹介更新の上りマッピングをする(FUSV015218SC)
	 * 
	 * @param outputMap
	 * @return outputMap
	 * @throws Exception
	 */
	public HashMap<String, Object> setEKK0311C010(HashMap<String, Object> outputMap, String couponCd) throws Exception
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 共通情報のマッピング
		parentMap.put(FUNC_CODE, JPCModelConstant.FUNC_CD_1);

		// リダイレクト情報.紹介者コード → 紹介更新.紹介コード
		parentMap.put("intr_cd", couponCd);

		outputMap.put("EKK0311C010", parentMap);

		return outputMap;
	}

	/**
	 * 代理店登録CC上りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param screenId 呼び出し元画面ID
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUAddAgntCC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String screenId) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス
		X31SDataBeanAccess bn2 = getKeiyakusvcinfo(bnWebinfo);
		// その他情報
		X31SDataBeanAccess bnOtherinfo = getOtherinfo(bnWebinfo);

		HashMap<String, Object> parentMap1 = new HashMap<String, Object>(); // 申込＿代理店削除
		HashMap<String, Object> parentMap2 = new HashMap<String, Object>(); // 申込＿代理店登録
		HashMap<String, Object> parentMap3 = new HashMap<String, Object>(); // 申込＿代理店登録

		// 取扱店用取扱コード
		String tratCd1_1 = bnOtherinfo.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD_18, X31CWebConst.DATABEAN_GET_VALUE);
		// 担当者用取扱コード
		String tratCd1_2 = bnOtherinfo.sendMessageString(CommonInfoCFConst.TNTSHA_TORIATSUKAI_CD_18, X31CWebConst.DATABEAN_GET_VALUE);
		// 取扱店用取扱コード2
		String tratCd2_1 = bnOtherinfo.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD2_18, X31CWebConst.DATABEAN_GET_VALUE);

		// 更新年月日時分秒 取扱店用取扱コード1-1
		String updDtm1_1 = bnOtherinfo.sendMessageString(CommonInfoCFConst.UPD_DTM_BF_1_1_18, X31CWebConst.DATABEAN_GET_VALUE);
		// 更新年月日時分秒 取扱店用取扱コード2-1
		String updDtm2_1 = bnOtherinfo.sendMessageString(CommonInfoCFConst.UPD_DTM_BF_2_1_18, X31CWebConst.DATABEAN_GET_VALUE);
		// 申込番号
		String mskmNo = bn2.sendMessageString(CommonInfoCFConst.TTDKI_NO_10, X31CWebConst.DATABEAN_GET_VALUE);

		// 取扱コード1-1の更新年月日時分秒が存在する場合かつ、取扱コード2-1の更新年月日時分秒が存在する または 取扱店用取扱コードが存在しない場合
		if (updDtm1_1.length() > 0 && (tratCd2_1.length() == 0 || updDtm2_1.length() > 0))
		{
			return outputMap;
		}

		// 削除フラグ
		Boolean delFlg = false; // true:削除あり

		// 申込＿代理店削除のマッピング
		// 削除を行う可能性があるのは本登録の場合のみ。量販は仮登録で2つとも入れるので問題なし。
		// アンケート画面・支払い方法確認画面の場合
		if (JFUScreenConst.SCREEN_ID_FUW00116.equals(screenId) || JFUScreenConst.SCREEN_ID_FUW00156.equals(screenId))
		{
			// 取扱店用取扱コード2-1の更新年月日時分秒がない　かつ 取扱店用取扱コード2が入力されているとき
			if ((updDtm2_1.length() == 0 || "".equals(updDtm2_1)) && tratCd2_1.length() > 0 && updDtm1_1.length() > 0)
			{
				// 共通情報のマッピング
				parentMap1.put("func_code", func_code);

				// 更新年月日時分秒
				parentMap1.put("upd_dtm_bf", updDtm1_1);

				// 取扱店用取扱コード2-1 ←1-1から2-1に値が移動しているため
				parentMap1.put("agnt_cd", tratCd2_1);

				// 申込番号
				parentMap1.put("mskm_no", mskmNo);

				outputMap.put("EKK0071E020", parentMap1);

				delFlg = true;
			}
		}

		// 取扱コード1-1の登録
		// コンシューマ・量販・訪販の場合でも、必ず入っている。
		// 共通情報のマッピング
		parentMap2.put("func_code", func_code);

		// 取扱店用取扱コード1-1
		parentMap2.put("agnt_cd", tratCd1_1);
		parentMap2.put("dsp_jun", JFUStrConst.DSP_JUN_1);

		// 削除がある場合、申込番号がすでに採番されているためマッピングする。
		if (delFlg)
		{
			// 申込番号
			parentMap2.put("mskm_no", mskmNo);
		}

		outputMap.put("EKK0071D010_1", parentMap2);

		// 販売タイプ
		String hanbaiType = bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbaiType) || JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType))
		{
			/* 2013/02/20 IT1-2013-0000300 Y.Saitou ADD */
			// 担当者用取扱コードに値が設定されている場合
			if (tratCd1_2 != null && tratCd1_2.trim().length() > 0)
			{
				// 共通情報のマッピング
				parentMap3.put("func_code", func_code);

				// 量販・訪販の場合 2件目は担当者用取扱コードを設定する。
				parentMap3.put("agnt_cd", tratCd1_2);

				// 表示順序 2番
				parentMap3.put("dsp_jun", JFUStrConst.DSP_JUN_2);

				// 量販・訪販の場合は登録実行時に申込番号が採番される為マッピングなし

				outputMap.put("EKK0071D010_2", parentMap3);
			}
		}
		else
		// コンシューマの場合
		{
			// 取扱店用取扱コードに値が入っていない場合マッピングしない。
			if (tratCd2_1.length() > 0 && !"".equals(tratCd2_1))
			{
				// 共通情報のマッピング
				parentMap3.put("func_code", func_code);

				// 件目は担当者用取扱コードを設定する。
				parentMap3.put("agnt_cd", tratCd2_1);

				// 表示順序 3番
				parentMap3.put("dsp_jun", JFUStrConst.DSP_JUN_3);

				// 削除がある場合、申込番号がすでに採番されているためマッピングする。
				if (delFlg)
				{
					parentMap3.put("mskm_no", mskmNo);
				}

				outputMap.put("EKK0071D010_2", parentMap3);
			}
		}
		return outputMap;
	}

	/**
	 * 代理店登録CC下りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getJFUAddAgntCC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		// WEB新規情報
		X31SDataBeanAccess bn = getWebInfo(bean[0]);
		// その他情報
		X31SDataBeanAccess bnOtherinfo = getOtherinfo(bn);

		HashMap parentMap1 = null;
		HashMap parentMap2 = null;
		if (outputMap.containsKey("EKK0071D010_1"))
		{
			parentMap1 = (HashMap)outputMap.get("EKK0071D010_1");
		}

		if (parentMap1 != null)
		{
			// 更新年月日時分秒（取扱コード1-1）← 更新年月日時分秒
			bnOtherinfo.sendMessageString(CommonInfoCFConst.UPD_DTM_BF_1_1_18, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap1.get("upd_dtm"));
		}

		if (outputMap.containsKey("EKK0071D010_2"))
		{
			parentMap2 = (HashMap)outputMap.get("EKK0071D010_2");
		}

		if (parentMap2 != null)
		{
			// 販売タイプ
			String hanbaiType = bn.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);

			if (JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbaiType) || JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType))
			{
				// 更新年月日時分秒（取扱コード1-2）← 更新年月日時分秒
				bnOtherinfo
						.sendMessageString(CommonInfoCFConst.UPD_DTM_BF_1_2_18, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap2.get("upd_dtm"));
			}
			else
			{
				// 更新年月日時分秒（取扱コード2-1）← 更新年月日時分秒
				bnOtherinfo
						.sendMessageString(CommonInfoCFConst.UPD_DTM_BF_2_1_18, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap2.get("upd_dtm"));
			}
		}

		return bean;
	}

	/**
	 * 申込断面登録下りマッピング
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getMskmDmenXmlMap(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		// WEB新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[0]);
		// その他情報
		X31SDataBeanAccess elseInfoBean = getElseInfo(webNewInfoBean);
		HashMap parentMap = null;
		if (outputMap.containsKey("EKK2501D010"))
		{
			// 申込断面XMLマップ取得
			parentMap = (HashMap)outputMap.get("EKK2501D010");
		}

		if (parentMap != null)
		{
			// その他情報.更新前更新年月日時分秒（申込断面）
			elseInfoBean.sendMessageString(CommonInfoCFConst.UPD_DTM_BF_MSKM_DMEN_18, X31CWebConst.DATABEAN_SET_VALUE, (String)parentMap
					.get("upd_dtm"));
		}

		return bean;
	}

	/**
	 * メール送信上りマッピングをする
	 * 
	 * <br>
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setECC0021D010(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
	{
		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>();

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// お客様向けメールコード → メール送信情報登録マップ.メールコード
		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", "");

		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(MAP_KEY_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;
	}

	/**
	 * 課金先登録登録上りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK0321D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDateTime, String opeDate)
	{
		//		String wrbSvc = "";

		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 割引サービス契約番号
		parentMap.put("wrib_svc_kei_no", "");
		// 課金先適用開始年月日
		// システム日付
		parentMap.put("kakins_tstaymd", opeDate);
		// オーナー契約番号
		parentMap.put("ownr_kei_no", bnMansioninfo.sendMessageString(CommonInfoCFConst.OWNR_KEI_NO_16, X31CWebConst.DATABEAN_GET_VALUE));

		outputMap.put("EKK0321D010", parentMap);

		return outputMap;
	}

	/**
	 * データ抽出項目コード登録CC上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param wribFlg 割引フラグ true:割引サービスがある  false:割引サービスがない
	 * @return outputMap
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015217CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, boolean wribFlg) throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		HashMap<String, Object> hanyoMap = new HashMap<String, Object>();
		ArrayList addDchskmCdList = new ArrayList();
		ArrayList tratCdList = new ArrayList();

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(bnWebinfo);
		// 契約サービス情報
		X31SDataBeanAccess bnKeiSvcinfo = getKeiyakusvcinfo(bnWebinfo);
		// 2013/02/21 Fujiwara Add Start
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(bnWebinfo);
		// 2013/02/21 Fujiwara Add End
		// 2013/02/22 Otsuka マンション割引対応追加 start
		// マンション情報
		X31SDataBeanAccess bnMansionInfo = getMansioninfo(bnWebinfo);
		// 2013/02/22 Otsuka マンション割引対応追加 end

		// childMapの初期化
		parentMap = new HashMap();

		// SYSID
		String sysid = bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 申込マンションタイプ
		String mskmMnsYype = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 加入契約申込条件コード
		String knykeiMskmJokenCd = bnMansionInfo.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
		// 支払方式コード
		String paywayCd = bnMansionInfo.sendMessageString(CommonInfoCFConst.PAYWAY_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

		// 選択サービス：ネット
		String selSvcNet = bnKeiSvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
//		// 選択サービス：電話
//		String selSvcTel = bnKeiSvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
//		// 選択サービス：テレビ
//		String selSvcTv = bnKeiSvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE);

		// 選択サービスフラグ：ネット
		boolean selSvcFlgNet = JFUStrConst.SELECT_SVC_CHOICE.equals(selSvcNet);
//		// 選択サービスフラグ：電話
//		boolean selSvcFlgTel = JFUStrConst.SELECT_SVC_CHOICE.equals(selSvcTel);
//		// 選択サービスフラグ：テレビ
//		boolean selSvcFlgTv = JFUStrConst.SELECT_SVC_CHOICE.equals(selSvcTv);
		
		//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
		// ■汎用コードリスト取得
		//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
		X31SDataBeanAccessArray hanyoCdList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST);

		// 汎用コードリストを取得する。
		int hanyoCnt = hanyoCdList.getCount();

		// 汎用コードの件数分ループさせ、値を格納する。
		for (int i = 0; i < hanyoCnt; i++)
		{
			X31SDataBeanAccess hanyoBeanInfo = hanyoCdList.getDataBean(i);

			hanyoMap = new HashMap();

			if (!JFUStrConst.HANYO_SBT_CD_HANYO.equals(hanyoBeanInfo.sendMessageString(CommonInfoCFConst.HANYO_SBT_CD_46,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
				continue;
			}

			hanyoMap.put("addDchskmCd", hanyoBeanInfo.sendMessageString(CommonInfoCFConst.HANYO_CD_46, X31CWebConst.DATABEAN_GET_VALUE));

			// 即時適用フラグ
			hanyoMap.put("aply_jun", JFUStrConst.CD00403_1);

			// 異動区分
			hanyoMap.put("ido_div", getIdoKbn(bnWebinfo));

			// 紹介コード
			hanyoMap.put("intr_cd", bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE));

			// SYSID
			hanyoMap.put("sysid", sysid);

			// 検索最大件数
			hanyoMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

			// データ抽出項目設定登録契機コード
			hanyoMap.put("dchskmst_add_opty_cd", JFUStrConst.CD00874_2); // No388 Otsuka 2013/02/18

			addDchskmCdList.add(hanyoMap);
		}

		//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
		// ■自動登録キャンペーンリスト (ANK-4551-00-00)
		//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
		X31SDataBeanAccessArray autoAddCpList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.AUTO_ADD_CP_LIST);
		if (autoAddCpList != null && autoAddCpList.getCount() > 0)
		{
			// 自動登録分を追加。
			int autoCpCnt = autoAddCpList.getCount();
			// 汎用コードの件数分ループさせ、値を格納する。
			for (int i = 0; i < autoCpCnt; i++)
			{
				X31SDataBeanAccess campaignInfo = autoAddCpList.getDataBean(i);
				hanyoMap = new HashMap();
				if (!JFUStrConst.HANYO_SBT_CD_HANYO.equals(campaignInfo.sendMessageString(CommonInfoCFConst.CAMPAIGN_SBT_CD_66,
						X31CWebConst.DATABEAN_GET_VALUE)))
				{
					continue;
				}
				if (JFUStrConst.CAMPAIGN_ADD_JG_NG.equals(campaignInfo.sendMessageString(CommonInfoCFConst.CAMPAIGN_ADD_JG_66,
						X31CWebConst.DATABEAN_GET_VALUE)))
				{
					continue;
				}
				hanyoMap.put("addDchskmCd", campaignInfo.sendMessageString(CommonInfoCFConst.CAMPAIGN_CD_66, X31CWebConst.DATABEAN_GET_VALUE));
				// 即時適用フラグ
				hanyoMap.put("aply_jun", JFUStrConst.CD00403_1);
				// 異動区分
				hanyoMap.put("ido_div", getIdoKbn(bnWebinfo));
				// 紹介コード
				hanyoMap.put("intr_cd", bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE));
				// SYSID
				hanyoMap.put("sysid", sysid);
				// 検索最大件数
				hanyoMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);
				// データ抽出項目設定登録契機コード
				hanyoMap.put("dchskmst_add_opty_cd", JFUStrConst.CD00874_2);
				addDchskmCdList.add(hanyoMap);
			}
		}

		// ■リダイレクト情報.新規申込用データ抽出項目コードに値が設定されている場合実行する。
		if (null != bnRedirectinfo.sendMessageString(CommonInfoCFConst.NEW_DCHSKM_CD_17, X31CWebConst.DATABEAN_GET_VALUE)
				&& !"".equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.NEW_DCHSKM_CD_17, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			hanyoMap = new HashMap();
			// 汎用コード格納後、リダイレクト情報.新規申込用データ抽出項目コードを格納する
			hanyoMap.put("addDchskmCd", bnRedirectinfo.sendMessageString(CommonInfoCFConst.NEW_DCHSKM_CD_17, X31CWebConst.DATABEAN_GET_VALUE));

			// 即時適用フラグ
			hanyoMap.put("aply_jun", JFUStrConst.CD00403_1);

			// 異動区分
			hanyoMap.put("ido_div", getIdoKbn(bnWebinfo));

			// 紹介コード
			hanyoMap.put("intr_cd", bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE));

			// SYSID
			hanyoMap.put("sysid", sysid);

			// 検索最大件数
			hanyoMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

			// データ抽出項目設定登録契機コード
			hanyoMap.put("dchskmst_add_opty_cd", JFUStrConst.CD00874_2); // No388 Otsuka 2013/02/18

			addDchskmCdList.add(hanyoMap);
		}

		// ■リダイレクト情報.追加申込用データ抽出項目コードに値が設定されている場合実行する。
		if (null != bnRedirectinfo.sendMessageString(CommonInfoCFConst.ADD_DCHSKM_CD_17, X31CWebConst.DATABEAN_GET_VALUE)
				&& !"".equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.ADD_DCHSKM_CD_17, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			hanyoMap = new HashMap();
			// 汎用コード格納後、リダイレクト情報.新規申込用データ抽出項目コードを格納する
			hanyoMap.put("addDchskmCd", bnRedirectinfo.sendMessageString(CommonInfoCFConst.ADD_DCHSKM_CD_17, X31CWebConst.DATABEAN_GET_VALUE));

			// 即時適用フラグ
			hanyoMap.put("aply_jun", JFUStrConst.CD00403_1);

			// 異動区分
			hanyoMap.put("ido_div", getIdoKbn(bnWebinfo));

			// 紹介コード
			hanyoMap.put("intr_cd", bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE));

			// SYSID
			hanyoMap.put("sysid", sysid);

			// 検索最大件数
			hanyoMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

			// データ抽出項目設定登録契機コード
			hanyoMap.put("dchskmst_add_opty_cd", JFUStrConst.CD00874_2); // No388 Otsuka 2013/02/18

			addDchskmCdList.add(hanyoMap);
		}

//		// データ抽出項目設定フラグ
//		Boolean dchskmFlg = false;
//
//		// 登録対象が1件以上または、KCN遷移の場合
//		if (addDchskmCdList.size() > 0
//				|| JFUStrConst.RED_KCN_MSKM_KCN.equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_KCN_MSKM_17,
//						X31CWebConst.DATABEAN_GET_VALUE)))
//		{
//			dchskmFlg = true;
//		}
//
//		// 紹介コード
//		String intr_cd = bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_INTRODUCE_17, X31CWebConst.DATABEAN_GET_VALUE);
		// 販売タイプ
		String hanbai_type = bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// 2013/02/21 Fujiwara Add Start
		// 取扱店用取扱コード
		String toriten_toriatsukai_cd = bnElseinfo.sendMessageString(CommonInfoCFConst.TORITEN_TORIATSUKAI_CD_18, X31CWebConst.DATABEAN_GET_VALUE);

		// No356 2013/02/22 Otsuka マンション割引対応追加 start
		// ■ホームタイプ以外の場合
		if (!JFUStrConst.MSKM_KSN_SVC_HOME.equals(bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// マンション割引サービスコードの個数を取得
			int netCnt = (Integer)bnMansionInfo.sendMessage(CommonInfoCFConst.MANS_WRIB_SVC_CD_16, X31CWebConst.DATABEAN_GET_COUNT);

			for (int i = 0; i < netCnt; i++)
			{
				hanyoMap = new HashMap();

				// 割引サービスコード
				hanyoMap.put("addDchskmCd", bnMansionInfo
						.sendMessageString(CommonInfoCFConst.MANS_WRIB_SVC_CD_16, X31CWebConst.DATABEAN_GET_VALUE, i));

				// 即時適用フラグ 適用する
				hanyoMap.put("aply_jun", JFUStrConst.CD00403_1);

				// SYSID
				hanyoMap.put("sysid", sysid);

				// 異動区分
				hanyoMap.put("ido_div", getIdoKbn(bnWebinfo));

				// 検索最大件数
				hanyoMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

				// データ抽出項目設定登録契機コード
				hanyoMap.put("dchskmst_add_opty_cd", JFUStrConst.CD00874_2);

				addDchskmCdList.add(hanyoMap);
			}
		}
		// 2013/02/22 Otsuka マンション割引対応追加 end

		// ■リダイレクト情報.WiMAX（白ロム）用割引サービスコードに値が設定されている場合実行する。
		String dchskmCd = bnRedirectinfo.sendMessageString(CommonInfoCFConst.WIMAX_WHITE_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE);
		if (!JFUCommonUtil.isNull(dchskmCd))
		{
			hanyoMap = new HashMap();

			// 割引サービスコード
			hanyoMap.put("addDchskmCd", dchskmCd);

			// 即時適用フラグ 適用する
			hanyoMap.put("aply_jun", JFUStrConst.CD00403_1);

			// SYSID
			hanyoMap.put("sysid", sysid);

			// 異動区分
			hanyoMap.put("ido_div", getIdoKbn(bnWebinfo));

			// 検索最大件数
			hanyoMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

			// データ抽出項目設定登録契機コード
			hanyoMap.put("dchskmst_add_opty_cd", JFUStrConst.CD00874_2);

			addDchskmCdList.add(hanyoMap);
		}

		// 登録対象が0件の場合、マップを作成しない
		if (addDchskmCdList.size() > 0)
		{
			parentMap.put("AddDchskmCdList", addDchskmCdList);

			outputMap.put("JFUAddDchskmCdCC", parentMap);
		}
		
		// ■●取扱コードによるキャンペーンの設定
		// 販売タイプがコンシューマ"かつネット申し込みあり、かつマンションの時は全戸一括でない場合に設定する
		// ※取扱コードに紐づくキャンペーンがあれば、それをデータ抽出項目設定に登録する。
		//   取扱コードに紐づくキャンペーンが無い場合、WEB割をデータ抽出項目設定に登録する。
		// ※取扱コードに紐づく適用中キャンペーンのデータ抽出項目コードは、JFUAddDchskmCdCC内で取得しており、
		//   データ抽出項目コードが取得できればその内容でデータ抽出項目設定の登録処理を行なう。
		//   その際、当マップで設定している"AddDchskmCdList"の内容は使用しない。
		//   CCパラメータの取扱コードが未設定、または取扱コードに紐づくデータ項目コードが取得できない場合は、
		//   当マップで設定している"AddDchskmCdList"の内容を元にデータ抽出項目設定の登録を行なっている。
		boolean mnsIktFlg = false;
		if (JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskmMnsYype)
				&& (JFUStrConst.KNYKEI_MSKM_JOKEN_IKT.equals(knykeiMskmJokenCd) || PAYWAY_CD_003.equals(paywayCd) || PAYWAY_CD_004.equals(paywayCd)))
		{
			mnsIktFlg = true;
		}
		// 価格コムでNetflixパック申込時は登録しない
		boolean kakakucomNfFlg = false;
		if (toriten_toriatsukai_cd.equals(JFUWebCommon.getDispText(JFUScreenConst.SCREEN_ID_FUW00144, "trat_kakakucom")))
		{
			// eo光ネット
			X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
			// ネットコース
			String netCourse = bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);
			// Netflixパック
			if (JFUStrConst.NET_COURSE_1G_NF.equals(netCourse) 
					|| JFUStrConst.NET_COURSE_5G_NF.equals(netCourse)
					|| JFUStrConst.NET_COURSE_10G_NF.equals(netCourse))
			{
				kakakucomNfFlg = true;
			}
		}

		// 「一般WEB」 かつ 「eo光ネット申込」 かつ 「マンション全戸一括でない」かつ 「価格コムのNetflixパック申込でない」
		if (JFUStrConst.HNBAI_TYPE_CON.equals(hanbai_type) && selSvcFlgNet && (!mnsIktFlg) && !kakakucomNfFlg)
		{
			// 取扱コードをparentMapに直接設定
			parentMap.put(IN_TRAT_CD, toriten_toriatsukai_cd);
			
			outputMap.put(JFUADDDCHSKMCDCC, parentMap);
			
			// 取扱コード関係で使用する項目をhanyoMaに設定
			hanyoMap = new HashMap();
			
			// 即時適用フラグ
			hanyoMap.put(APLY_JUN, JFUStrConst.CD00403_1);

			// 異動区分
			hanyoMap.put(IDO_DIV, getIdoKbn(bnWebinfo));

			// SYSID
			hanyoMap.put(SYSID, sysid);

			// 検索最大件数
			hanyoMap.put(MAX_SEARCH_NUM, JFUStrConst.MAX_SEARCH_NUM);

			// データ抽出項目設定登録契機コード
			hanyoMap.put(DCHSKMST_ADD_OPTY_CD, JFUStrConst.CD00874_2); // No388 Otsuka 2013/02/18

			tratCdList.add(hanyoMap);
			
			parentMap.put(TRATCDLIST, tratCdList);

			outputMap.put(JFUADDDCHSKMCDCC, parentMap);
		}

		return outputMap;
	}

	/**
	 * データ抽出項目コード登録CC下りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param opeDate
	 * @return bean
	 * @throws Exception 
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV015217CC(X31SDataBeanAccess[] bean, HashMap outputMap, Boolean dchskmFlg, Boolean wribFlg, String opeDate) throws Exception
	{
		// WEB新規情報
		X31SDataBeanAccess bn = getWebInfo(bean[0]);
		// その他情報
		X31SDataBeanAccess elseInfoBean = getElseInfo(bn);

		HashMap parentMap = null;
		if (outputMap.containsKey("JFUAddDchskmCdCC"))
		{
			parentMap = (HashMap)outputMap.get("JFUAddDchskmCdCC");
		}

		// ■WEB割商品券リスト
		String campaignDispDefine = JFUWebCommon.getWebWariCampList(opeDate);
		List<String> webWariCmpList = new ArrayList<String>();
		if (campaignDispDefine != null)
		{
			webWariCmpList = Arrays.asList(campaignDispDefine.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(","));
		}

		if (parentMap != null && parentMap.containsKey("TEMP_TEMPLATE_EKK1391D010_1"))
		{
			for (int i = 1; i < 10; i++)
			{
				if (parentMap.containsKey("TEMP_TEMPLATE_EKK1391D010_" + i))
				{
					HashMap eKK1391D010Map = (HashMap)parentMap.get("TEMP_TEMPLATE_EKK1391D010_" + i);
					if (eKK1391D010Map != null)
					{
						String dchskm_cd = (String)eKK1391D010Map.get("dchskm_cd");

						if (!wribFlg && !dchskmFlg && webWariCmpList.contains(dchskm_cd) && !webWariSpeCmpList.contains(dchskm_cd))
						{
							// その他情報.データ抽出項目番号 ← データ抽出項目コード登録マップ.データ抽出項目番号
							elseInfoBean.sendMessageString(CommonInfoCFConst.DCHSKMST_NO_18, X31CWebConst.DATABEAN_SET_VALUE, (String)eKK1391D010Map.get("dchskmst_no"));
							// その他情報.更新年月日時分秒（データ抽出項目設定） ← データ抽出項目コード登録マップ.更新年月日時分秒
							elseInfoBean.sendMessageString(CommonInfoCFConst.UPD_DTM_BF_DCHSKMST_18, X31CWebConst.DATABEAN_SET_VALUE, (String)eKK1391D010Map.get("upd_dtm"));
							break;
						}
					}
				}
				else
				{
					break;
				}
			}
		}

		return bean;
	}

	// 2012/4/24 【ANK-0037-01-00】 紹介CP申込期間制御対応 START

	/**
	 * 割引サービスコード登録CC上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return outputMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015222CC(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>();
		HashMap<String, Object> wribSvcMap = new HashMap<String, Object>();
		ArrayList addWribSvcCdList = new ArrayList();
		String wribSvcCd = "";

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 契約サービス
		X31SDataBeanAccess bnKeiyakusvcinfo = getKeiyakusvcinfo(bnWebinfo);
		// eo光ネット
		X31SDataBeanAccess bnNetinfo = getEonet(bnWebinfo);
		// 割引サービス契約自動継続識別コード
		String auto_keizoku = bnNetinfo.sendMessageString(CommonInfoCFConst.AUTO_KEIZOKU_11, X31CWebConst.DATABEAN_GET_VALUE);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(bnWebinfo);
		// 汎用コードリスト取得
		X31SDataBeanAccessArray hanyoCdList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST);
		// 自動登録キャンペーンリスト取得 (ANK-4551-00-00)
		X31SDataBeanAccessArray autoAddCpList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.AUTO_ADD_CP_LIST);

		// 2013/02/22 Otsuka マンション割引対応追加 start
		// マンション情報
		X31SDataBeanAccess bnMansionInfo = getMansioninfo(bnWebinfo);
		// 2013/02/22 Otsuka マンション割引対応追加 end

		// -----IT2-2012-0000788 2012/06/13 h.iwamoto START-----
		// 申込マンションタイプ
		String mskm_mns_type = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		// -----IT2-2012-0000788 2012/06/13 h.iwamoto START-----

		// childMapの初期化
		parentMap = new HashMap();

		HashMap<String, Object> hanyoMap = new HashMap<String, Object>();

		//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
		// ■汎用コードリストを取得する。
		//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
		int hanyoCnt = hanyoCdList.getCount();

		// 汎用コードの件数分ループさせ、値を格納する。
		for (int i = 0; i < hanyoCnt; i++)
		{
			X31SDataBeanAccess hanyoBeanInfo = hanyoCdList.getDataBean(i);

			hanyoMap = new HashMap();

			if (!JFUStrConst.HANYO_SBT_CD_WARIBIKI.equals(hanyoBeanInfo.sendMessageString(CommonInfoCFConst.HANYO_SBT_CD_46,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
				continue;
			}

			hanyoMap.put("addWribSvcCd", hanyoBeanInfo.sendMessageString(CommonInfoCFConst.HANYO_CD_46, X31CWebConst.DATABEAN_GET_VALUE));

			// 即時適用フラグ
			hanyoMap.put("aply_jun", JFUStrConst.CD00403_1);

			// 異動区分
			hanyoMap.put("ido_div", getIdoKbn(bnWebinfo));

			// 検索最大件数
			hanyoMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

			// 割引登録契機コード
			hanyoMap.put("wrib_add_opty_cd", JFUStrConst.CD00874_2); // No388 Otsuka 2013/02/18

			// 料金コースコード
			hanyoMap.put("pcrs_cd", getPcrsCdOrPplanCd(wribSvcCd, PCRS_CD_FLG));

			// 料金プランコード
			hanyoMap.put("pplan_cd", getPcrsCdOrPplanCd(wribSvcCd, ""));

			addWribSvcCdList.add(hanyoMap);
		}

		//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
		// ■自動登録キャンペーンリスト
		//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
		if (autoAddCpList != null && autoAddCpList.getCount() > 0)
		{
			int autoCpCnt = autoAddCpList.getCount();
			for (int i = 0; i < autoCpCnt; i++)
			{
				X31SDataBeanAccess campaignInfo = autoAddCpList.getDataBean(i);
				hanyoMap = new HashMap();
				if (!JFUStrConst.HANYO_SBT_CD_WARIBIKI.equals(campaignInfo.sendMessageString(CommonInfoCFConst.CAMPAIGN_SBT_CD_66,
						X31CWebConst.DATABEAN_GET_VALUE)))
				{
					continue;
				}
				if (JFUStrConst.CAMPAIGN_ADD_JG_NG.equals(campaignInfo.sendMessageString(CommonInfoCFConst.CAMPAIGN_ADD_JG_66,
						X31CWebConst.DATABEAN_GET_VALUE)))
				{
					continue;
				}
				hanyoMap.put("addWribSvcCd", campaignInfo.sendMessageString(CommonInfoCFConst.CAMPAIGN_CD_66, X31CWebConst.DATABEAN_GET_VALUE));
				// 即時適用フラグ
				hanyoMap.put("aply_jun", JFUStrConst.CD00403_1);
				// 異動区分
				hanyoMap.put("ido_div", getIdoKbn(bnWebinfo));
				// 検索最大件数
				hanyoMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);
				// 割引登録契機コード
				hanyoMap.put("wrib_add_opty_cd", JFUStrConst.CD00874_2);
				// 料金コースコード
				hanyoMap.put("pcrs_cd", getPcrsCdOrPplanCd(wribSvcCd, PCRS_CD_FLG));
				// 料金プランコード
				hanyoMap.put("pplan_cd", getPcrsCdOrPplanCd(wribSvcCd, ""));
				addWribSvcCdList.add(hanyoMap);
			}
		}

		// 選択サービス(ネット)
		String svc_net = bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);

		// -----IT2-2012-0000788 2012/06/13 h.iwamoto マンションでない場合のみ即割と長割を登録する MOD-----
		// ■eo光ネットが選択されている場合 かつ マンションでない場合、即割、高速割、長割をのサービスコードを登録する
		if (SENTAKU.equals(svc_net) && !JFUStrConst.MSKM_MNS_TYPE_MANSION.equals(mskm_mns_type))
		{
			// 即割の割引サービスコードを取得する
			wribSvcCd = getWribSvcCdSokuwari(bnWebinfo);

			// ■即割の割引サービスコードが取得できた場合
			if (!"".equals(wribSvcCd))
			{
				wribSvcMap = new HashMap();
				// 即割用割引サービスコードを格納する
				wribSvcMap.put("addWribSvcCd", wribSvcCd);

				// SYSID
				wribSvcMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

				// 即時適用フラグ
				wribSvcMap.put("aply_jun", JFUStrConst.CD00403_1);

				// 異動区分
				wribSvcMap.put("ido_div", getIdoKbn(bnWebinfo));

				// 検索最大件数
				wribSvcMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

				// No326 Otsuka 2013/02/04 start
				// 手動で登録する場合は割引登録契機コードは2
				wribSvcMap.put("wrib_add_opty_cd", JFUStrConst.CD00874_2);

				// No326 Otsuka 2013/02/04 end

				// 料金コースコード
				wribSvcMap.put("pcrs_cd", getPcrsCdOrPplanCd(wribSvcCd, PCRS_CD_FLG));

				// 料金プランコード
				wribSvcMap.put("pplan_cd", getPcrsCdOrPplanCd(wribSvcCd, ""));

				addWribSvcCdList.add(wribSvcMap);
			}

			/**
			 * 長割
			 */
			// ■長割の割引サービスコードを取得する
			wribSvcCd = getWribSvcCdChowari(bnWebinfo);

			// 長割の割引サービスコードが取得できた場合
			if (!"".equals(wribSvcCd))
			{
				wribSvcMap = new HashMap();
				// 長割用割引サービスコードを格納する
				wribSvcMap.put("addWribSvcCd", wribSvcCd);

				// SYSID
				wribSvcMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

				// 即時適用フラグ
				wribSvcMap.put("aply_jun", JFUStrConst.CD00403_1);

				// 異動区分
				wribSvcMap.put("ido_div", getIdoKbn(bnWebinfo));

				// 検索最大件数
				wribSvcMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

				// 割引登録契機コード
				wribSvcMap.put("wrib_add_opty_cd", JFUStrConst.CD00874_2); // No388 Otsuka 2013/02/18

				// 料金コースコード
				wribSvcMap.put("pcrs_cd", getPcrsCdOrPplanCd(wribSvcCd, PCRS_CD_FLG));

				// 料金プランコード
				wribSvcMap.put("pplan_cd", getPcrsCdOrPplanCd(wribSvcCd, ""));

				// 2012.10.12 baba IT1-2012-0001295 START
				// 割引サービス契約自動継続識別コード
				wribSvcMap.put("wrib_svc_kei_at_keizk_skcd", auto_keizoku);
				// 2012.10.12 baba IT1-2012-0001295 END

				addWribSvcCdList.add(wribSvcMap);
			}
		}

		// ■リダイレクト情報.新規申込用割引サービスコードに値が設定されている場合実行する。
		if (null != bnRedirectinfo.sendMessageString(CommonInfoCFConst.NEW_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)
				&& !"".equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.NEW_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			wribSvcMap = new HashMap();

			wribSvcCd = bnRedirectinfo.sendMessageString(CommonInfoCFConst.NEW_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE);

			// リダイレクト情報.新規申込用割引サービスコードを格納する
			wribSvcMap.put("addWribSvcCd", wribSvcCd);

			// SYSID
			wribSvcMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

			// 即時適用フラグ
			wribSvcMap.put("aply_jun", JFUStrConst.CD00403_1);

			// 異動区分
			wribSvcMap.put("ido_div", getIdoKbn(bnWebinfo));

			// 検索最大件数
			wribSvcMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

			// 割引登録契機コード
			wribSvcMap.put("wrib_add_opty_cd", JFUStrConst.CD00874_2); // No388 Otsuka 2013/02/18

			// 料金コースコード
			wribSvcMap.put("pcrs_cd", getPcrsCdOrPplanCd(wribSvcCd, PCRS_CD_FLG));

			// 料金プランコード
			wribSvcMap.put("pplan_cd", getPcrsCdOrPplanCd(wribSvcCd, ""));

			addWribSvcCdList.add(wribSvcMap);
		}

		// ■リダイレクト情報.追加申込用割引サービスコードに値が設定されている場合実行する。
		if (null != bnRedirectinfo.sendMessageString(CommonInfoCFConst.ADD_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)
				&& !"".equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.ADD_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			wribSvcMap = new HashMap();

			wribSvcCd = bnRedirectinfo.sendMessageString(CommonInfoCFConst.ADD_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE);

			// リダイレクト情報.追加申込用割引サービスコードを格納する
			wribSvcMap.put("addWribSvcCd", wribSvcCd);

			// SYSID
			wribSvcMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

			// 即時適用フラグ
			wribSvcMap.put("aply_jun", JFUStrConst.CD00403_1);

			// 異動区分
			wribSvcMap.put("ido_div", getIdoKbn(bnWebinfo));

			// 検索最大件数
			wribSvcMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

			// 割引登録契機コード
			wribSvcMap.put("wrib_add_opty_cd", JFUStrConst.CD00874_2); // No388 Otsuka 2013/02/18

			// 料金コースコード
			wribSvcMap.put("pcrs_cd", getPcrsCdOrPplanCd(wribSvcCd, PCRS_CD_FLG));

			// 料金プランコード
			wribSvcMap.put("pplan_cd", getPcrsCdOrPplanCd(wribSvcCd, ""));

			addWribSvcCdList.add(wribSvcMap);
		}

		// ■リダイレクト情報.WiMAX（白ロム）用割引サービスコードに値が設定されている場合実行する。
		if (null != bnRedirectinfo.sendMessageString(CommonInfoCFConst.WIMAX_WHITE_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)
				&& !"".equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.WIMAX_WHITE_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			wribSvcMap = new HashMap();

			wribSvcCd = bnRedirectinfo.sendMessageString(CommonInfoCFConst.WIMAX_WHITE_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE);

			// リダイレクト情報.WiMAX（白ロム）用割引サービスコードを格納する
			wribSvcMap.put("addWribSvcCd", wribSvcCd);

			// SYSID
			wribSvcMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

			// 即時適用フラグ
			wribSvcMap.put("aply_jun", JFUStrConst.CD00403_1);

			// 異動区分
			wribSvcMap.put("ido_div", getIdoKbn(bnWebinfo));

			// 検索最大件数
			wribSvcMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

			// 割引登録契機コード
			wribSvcMap.put("wrib_add_opty_cd", JFUStrConst.CD00874_2); // No388 Otsuka 2013/02/18

			// 料金コースコード
			wribSvcMap.put("pcrs_cd", getPcrsCdOrPplanCd(wribSvcCd, PCRS_CD_FLG));

			// 料金プランコード
			wribSvcMap.put("pplan_cd", getPcrsCdOrPplanCd(wribSvcCd, ""));

			addWribSvcCdList.add(wribSvcMap);
		}

		// No356 2013/02/22 Otsuka マンション割引対応追加 start
		// ■ホームタイプ以外の場合
		if (!JFUStrConst.MSKM_KSN_SVC_HOME.equals(bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// マンション割引サービスコードの個数を取得
			int netCnt = (Integer)bnMansionInfo.sendMessage(CommonInfoCFConst.MANS_WRIB_SVC_CD_16, X31CWebConst.DATABEAN_GET_COUNT);

			for (int i = 0; i < netCnt; i++)
			{
				// マンション割引サービスコード
				wribSvcCd = bnMansionInfo.sendMessageString(CommonInfoCFConst.MANS_WRIB_SVC_CD_16, X31CWebConst.DATABEAN_GET_VALUE, i);

				wribSvcMap = new HashMap();

				// 割引サービスコード
				wribSvcMap.put("addWribSvcCd", wribSvcCd);

				// SYSID
				wribSvcMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

				// 即時適用フラグ 適用する
				wribSvcMap.put("aply_jun", JFUStrConst.CD00403_1);

				// 異動区分
				wribSvcMap.put("ido_div", getIdoKbn(bnWebinfo));

				// 検索最大件数
				wribSvcMap.put("max_search_num", JFUStrConst.MAX_SEARCH_NUM);

				// 割引登録契機コード
				wribSvcMap.put("wrib_add_opty_cd", JFUStrConst.CD00874_2);

				// 料金コースコード
				wribSvcMap.put("pcrs_cd", getPcrsCdOrPplanCd(wribSvcCd, PCRS_CD_FLG));

				// 料金プランコード
				wribSvcMap.put("pplan_cd", getPcrsCdOrPplanCd(wribSvcCd, ""));

				addWribSvcCdList.add(wribSvcMap);
			}
		}
		// 2013/02/22 Otsuka マンション割引対応追加 end

		// 登録対象が0件の場合、マップを作成しない
		if (addWribSvcCdList.size() > 0)
		{
			parentMap.put("AddWribSvcCdList", addWribSvcCdList);

			outputMap.put("JFUAddWribSvcCdCC", parentMap);
		}
		return outputMap;
	}

	/**
	 * 割引サービス自動適用CC下りマッピング
	 * 
	 * <br>
	 * @param bean　[0]：入力内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV015221CC(X31BWebBusinessLogic bl, X31SDataBeanAccess[] bean, HashMap outputMap) throws Exception
	{
		// WEB新規情報
		//		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// No544 2013/03/28 Otsuka start
		//		HashMap wrisvcAutoAplyMap = new HashMap();
		//
		//		HashMap parentMap = null;
		//		if (outputMap.containsKey("JKKWrisvcAutoAplyCCMap"))
		//		{
		//			parentMap = (HashMap)outputMap.get("JKKWrisvcAutoAplyCCMap");
		//
		//			wrisvcAutoAplyMap.put("sysid", parentMap.get("sysid"));
		//			wrisvcAutoAplyMap.put("add_chge_div", parentMap.get("add_chge_div"));
		//			wrisvcAutoAplyMap.put("mskm_no", parentMap.get("mskm_no"));
		//			wrisvcAutoAplyMap.put("mskm_sbt_cd", parentMap.get("mskm_sbt_cd"));
		//			wrisvcAutoAplyMap.put("ido_div", parentMap.get("ido_div"));
		//			wrisvcAutoAplyMap.put("func_code", parentMap.get("func_code"));
		//			wrisvcAutoAplyMap.put("svc_kei_grp_list", parentMap.get("svc_kei_grp_list"));
		//
		//			// 共有フォームBeanに割引サービス自動適用MAPを保存する
		//			JFUWebCommon.saveWrisvcAutoAplyInfo(bl, wrisvcAutoAplyMap);
		//		}
		// No544 2013/03/28 Otsuka end
		return bean;
	}

	// 2012/4/5 割引サービス自動適用対応 START

	/**
	 * 割引サービス自動適用CC上りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015221CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) throws Exception
	{
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);

		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");

		// 申込種別コード
		// 申込区分が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);

		// 2013/03/27 Fujiwara Del
		// 追加申込時のセット割対応 2013/01/23 h.iwamoto START
		// 2013/03/27 Fujiwara Del

		// 親マップ ← サービス契約グループリスト
		parentMap.put(SVC_KEI_GRP_LIST, svcKeiGrpList);

		outputMap.put("JKKWrisvcAutoAplyCCMap", parentMap);

		return outputMap;
	}

	// 2013/03/27 Fujiwara Add Start
	/**
	 * 割引サービス自動適用CC上りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015223CC(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))
		{
			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");

			// 申込種別コード
			// 申込区分が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);

			// 追加申込時のセット割対応 2013/01/23 h.iwamoto START

			// マンション情報
			//			X31SDataBeanAccess mansioninfo = getMansioninfo(bnWebinfo);

			// 申込区分
			//			String mskmKbn = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);

			// 加入契約申込条件コード
			//			String knykeiMskmJokenCd = mansioninfo.sendMessageString(CommonInfoCFConst.KNYKEI_MSKM_JOKEN_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

			// 2013/03/27 Fujiwara Del
			// 追加申込時のセット割対応 2013/01/23 h.iwamoto START
			// 2013/03/27 Fujiwara Del

			// 親マップ ← サービス契約グループリスト
			parentMap.put(SVC_KEI_GRP_LIST, svcKeiGrpList);
		}
		outputMap.put("JKKWrisvcAutoAplyCCMobileMap", parentMap);

		return outputMap;
	}

	/**
	 * 割引サービス自動適用CC下りマッピング
	 * 
	 * <br>
	 * @param bean　[0]：入力内容確認　[1]：共有フォームビーン
	 * @param outputMap
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public X31SDataBeanAccess[] getFUSV015223CC(X31BWebBusinessLogic bl, X31SDataBeanAccess[] bean, HashMap outputMap) 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;

		HashMap wrisvcAutoAplyMap = new HashMap();

		if (JFUStrConst.SELECT_SVC_MOBILE_CHOICE.equals(selectSvcMobile))
		{
			if (outputMap.containsKey("JKKWrisvcAutoAplyCCMobileMap"))
			{
				parentMap = (HashMap)outputMap.get("JKKWrisvcAutoAplyCCMobileMap");

				wrisvcAutoAplyMap.put("sysid", parentMap.get("sysid"));
				wrisvcAutoAplyMap.put("add_chge_div", parentMap.get("add_chge_div"));
				wrisvcAutoAplyMap.put("mskm_no", parentMap.get("mskm_no"));
				wrisvcAutoAplyMap.put("mskm_sbt_cd", parentMap.get("mskm_sbt_cd"));
				wrisvcAutoAplyMap.put("ido_div", parentMap.get("ido_div"));
				wrisvcAutoAplyMap.put("func_code", parentMap.get("func_code"));
				wrisvcAutoAplyMap.put("svc_kei_grp_list", parentMap.get("svc_kei_grp_list"));

				// 共有フォームBeanに割引サービス自動適用MAPを保存する
				JFUWebCommon.saveWrisvcAutoAplyInfo(bl, wrisvcAutoAplyMap);
			}
		}

		return bean;
	}

	/**
	 * スターチャンネルセット割CC上りマッピング
	 * 
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate　起算日
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015229CC(HashMap outputMap, String func_code, String opeDate) 
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 機能コード
		parentMap.put(FUNC_CD, func_code);
		// 処理区分
		parentMap.put(TRN_DIV, JFUStrConst.TRN_DIV_TOROKU);
		// SYSID
		parentMap.put(SYSID, JFUStrConst.EMPTY);
		// サービス契約番号
		parentMap.put(SVC_KEI_NO, JFUStrConst.EMPTY);
		// 申込明細番号
		parentMap.put(MSKM_DTL_NO, JFUStrConst.EMPTY);
		// サービスキャンセル理由コード
		parentMap.put(SVC_CANCEL_RSN_CD, JFUStrConst.EMPTY);
		// 起算日
		parentMap.put(KISAN_YMD, opeDate);
		// 利用開始希望日
		parentMap.put(USE_STA_KIBO_YMD, JFUStrConst.USE_STA_KIBO_YMD);
		// 異動区分
		parentMap.put(IDO_DIV, JFUStrConst.CD00576_00001);
		// 更新年月日時分秒（更新前）
		parentMap.put(KK0081_UPD_DTM, JFUStrConst.EMPTY);
		
		outputMap.put(FUSV015229CC, parentMap);
		
		return outputMap;
	}
	
	/**
	 * スターチャンネルセット割実行判定CC上りマッピング
	 * 
	 * @param outputMap
	 * @param eo_tv_course　テレビコース（ｅｏ光テレビ）
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015229ReqChk(HashMap outputMap, String eoTvCourse) 
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// テレビコース（ｅｏ光テレビ）
		parentMap.put(EO_TV_COURSE, eoTvCourse);
		
		outputMap.put(FUSV015229_REQ_CHK, parentMap);
		
		return outputMap;
	}
	
	/**
	 * 申込時登録不可契約予約登録CC上りマッピング
	 * 
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate　起算日
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015230CC(HashMap outputMap, String func_code, String opeDate) 
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 機能コード
		parentMap.put(FUNC_CD, func_code);
		// 処理区分
		parentMap.put(TRN_DIV, JFUStrConst.TRN_DIV_TOROKU);
		// 申込時登録不可契約予約種別コード
		parentMap.put(MKJ_ADDF_KEI_RV_SBT_CD, JFUStrConst.MKJ_ADDF_KEI_RV_SBT_CD_CDBS);
		// 申込明細番号
		parentMap.put(MSKM_DTL_NO, JFUStrConst.EMPTY);
		// 設定対象契約識別コード
		parentMap.put(SETE_TG_KEI_SKBT_CD, JFUStrConst.SETE_TG_KEI_SKBT_CD_SVC_KEI);
		// 設定対象契約番号
		parentMap.put(SETE_TG_KEI_NO, JFUStrConst.EMPTY);
		// オプションサービスコード
		parentMap.put(OP_SVC_CD, JFUStrConst.CD00136_B109);
		// 割引サービスコード
		parentMap.put(WRIB_SVC_CD, JFUStrConst.EMPTY);
		// 料金コースコード
		parentMap.put(PCRS_CD,JFUStrConst.CD00134_BB5);
		// 料金プランコード
		parentMap.put(PPLAN_CD, JFUStrConst.CD00565_PBB501);
		// 予約契約数
		parentMap.put(RSV_KEI_CNT, "1");
		// 申込時登録不可契約予約反映方法コード
		parentMap.put(MKJ_ADDF_KEI_RVHNE_WAY_CD, JFUStrConst.MKJ_ADDF_KEI_RVHNE_WAY_CD_MANUAL);
		// 申込時登録不可契約予約反映タイミングコード
		parentMap.put(MKJ_ADDF_KEI_RVHNE_TMG_CD, JFUStrConst.CD01649_01);
		// 申込時登録不可契約予約反映年月日
		parentMap.put(MKJ_ADDF_KEI_RV_HANEI_YMD, JFUStrConst.EMPTY);
		// 更新年月日時分秒(更新前)
		parentMap.put(UPD_DTM_BF,JFUStrConst.EMPTY);
		
		outputMap.put(EKK2931D010, parentMap);
		
		return outputMap;
	}
	
	/**
	 * 申込時登録不可契約予約登録実行判定CC上りマッピング
	 * 
	 * @param outputMap
	 * @param eo_tv_course　テレビコース（ｅｏ光テレビ）
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015230ReqChk(HashMap outputMap, String eoTvCourse) 
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// テレビコース（ｅｏ光テレビ）
		parentMap.put(EO_TV_COURSE, eoTvCourse);
		
		outputMap.put(FUSV015230_REQ_CHK, parentMap);
		
		return outputMap;
	}
	// 2013/03/27 Fujiwara Add End

	// -----2012/05/10 サービスインターフェイス取込対応 h.iwamoto START-----
	/**
	 * 請求オプションサービス契約登録
	 * 
	 * <br>
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return
	 */
	// 2013/04/16 Otsuka 使用しない。
	//	@SuppressWarnings("unchecked")
	//	public HashMap setEKK0441D010(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	//	{
	//		if (bean == null)
	//		{
	//			return null;
	//		}
	//
	//		if (bean.length != 2)
	//		{
	//			return null;
	//		}
	//
	//		// WEB新規情報
	//		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
	//
	//		HashMap<String, Object> parentMap = new HashMap<String, Object>();
	//
	//		// 機能コード
	//		parentMap.put("func_code", func_code);
	//
	//		// SYSID
	//		parentMap.put("sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, 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", getIdoKbn(bnWebinfo));
	//
	//		outputMap.put("EKK0441D010", parentMap);
	//
	//		return outputMap;
	//	}
	/**
	 * 申込画面入力支援ワーク登録
	 * 
	 * <br>
	 * @param bean [0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code 機能コード
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK2201D010(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 bnKeiyakuinfo = getKeiyakuinfo(bnWebinfo);
		// モバイル情報
		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);
		// 光電話
		X31SDataBeanAccess[] bnEotel = getEotel(bnWebinfo);

		/* 2012/12/29 TAI-2012-0000136-233 Y.Saitou ADD-START */
		// 光ネット
		X31SDataBeanAccess bnEonet = this.getEonet(bnWebinfo);
		// 光テレビ
		X31SDataBeanAccess bnEotv = this.getEotv(bnWebinfo);
		/* 2012/12/29 TAI-2012-0000136-233 Y.Saitou ADD-END */

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// 機能コード
		parentMap.put("func_code", func_code);

		// 電話コース取得
		String telNoSvc = bnWebinfo.sendMessageString(CommonInfoCFConst.TEL_COURSE_06, X31CWebConst.DATABEAN_GET_VALUE);

		// -----回線場所・契約者住所-----

		/* 2012/12/29 TAI-2012-0000136-233 Y.Saitou ADD-START */
		// 追加元サービス契約番号
		String mskm_kbn = bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);
		String addSvcKeiNo = "";

		// 追加申込の場合
		if (JFUStrConst.MSKM_KBN_ADD.equals(mskm_kbn))
		{
			String netSvcKeiNo = bnEonet.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_11, X31CWebConst.DATABEAN_GET_VALUE);
			String tel1SvcKeiNo = bnEotel[0].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE);
			String tel2SvcKeiNo = bnEotel[1].sendMessageString(CommonInfoCFConst.SVC_KEI_NO_12, X31CWebConst.DATABEAN_GET_VALUE);
			String tvSvcKeiNo = bnEotv.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_13, X31CWebConst.DATABEAN_GET_VALUE);
			String mobileSvcKeiNo = bnMobile.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_14, X31CWebConst.DATABEAN_GET_VALUE);

			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;
			}
		}
		parentMap.put("add_moto_svc_kei_no", addSvcKeiNo);
		/* 2012/12/29 TAI-2012-0000136-233 Y.Saitou ADD-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
		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);

		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))
		{
			//マンション申し込みの場合（※マンションの契約中回線へのサービス追加申込は対象外として、マンションの新規系申込とマンションのサービス追加（新しい場所への回線追加）を対象）
			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 = "";
			//			String nkys_nm_ksh_nm_sai_flg_1 = "";// No658 2013/04/12 Otsuka
			if ("1".equals(bmp_ad_choice))
			{
				// 1: 利用場所住所と電話サービス契約住所が同じ
				ntt_kshad_skbt_cd_1 = "1";
				//				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";
				//				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";
				//				nkys_nm_ksh_nm_sai_flg_1 = "1";// No658 2013/04/12 Otsuka
			}

			// NTT契約者住所識別コード1( 契約者住所電話番号選択識別コードを設定)
			parentMap.put("ntt_kshad_skbt_cd_1", ntt_kshad_skbt_cd_1);
			// NTT契約者名＿契約者名差異フラグ1
			parentMap.put("nkys_nm_ksh_nm_sai_flg_1", JFUStrConst.CD00002_1); // No658 2013/04/12 Otsuka
		}
		else
		{
			// NTT契約者住所識別コード1( 契約者住所電話番号選択識別コードを設定)
			parentMap.put("ntt_kshad_skbt_cd_1", "");
			// NTT契約者名＿契約者名差異フラグ1
			parentMap.put("nkys_nm_ksh_nm_sai_flg_1", "");
		}
		// -----番号ポータビリティ2番号目-----

		String use_bmp_2 = "";
		if (JFUStrConst.TEL_COURSE_2BANGOU_SVC.equals(telNoSvc))
		{
			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 = "";
			//			String nkys_nm_ksh_nm_sai_flg_2 = "";// No658 2013/04/12 Otsuka
			if ("1".equals(bmp_ad_choice_2))
			{
				// 1: 利用場所住所と電話サービス契約住所が同じ
				ntt_kshad_skbt_cd_2 = "1";
				//				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";
				//				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";
				//				nkys_nm_ksh_nm_sai_flg_2 = "1";// No658 2013/04/12 Otsuka
			}
			// NTT契約者住所識別コード2( 契約者住所電話番号選択識別コードを設定)
			parentMap.put("ntt_kshad_skbt_cd_2", ntt_kshad_skbt_cd_2);
			// NTT契約者名＿契約者名差異フラグ2
			parentMap.put("nkys_nm_ksh_nm_sai_flg_2", JFUStrConst.CD00002_1); // No658 2013/04/12 Otsuka
		}
		else
		{
			// NTT契約者住所識別コード2( 契約者住所電話番号選択識別コードを設定)
			parentMap.put("ntt_kshad_skbt_cd_2", "");
			// NTT契約者名＿契約者名差異フラグ2
			parentMap.put("nkys_nm_ksh_nm_sai_flg_2", "");
		}

		// -----モバイル-----

		// モバイル機器送付先住所識別コード( 機器書類送付先住所識別コードを設定)
		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);

		// 2012/12/5 IT1-2012-0002076 kusumoto Start
		parentMap.put("sikykeikn_custkn_sai_flg", "0");
		// 2012/12/5 IT1-2012-0002076 kusumoto End

		outputMap.put("EKK2201D010", parentMap);

		return outputMap;
	}

	// -----2012/05/10 サービスインターフェイス取込対応 h.iwamoto END-----
	/**
	 * 同一請求先チェック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]);

		// 共通情報のマッピング
		parentMap.put("func_code", func_code);

		// SYSID
		parentMap.put("key_sysid", bnWebinfo.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

		// No244 Otsuka 2013/02/21 start
		// ハイブリッドのネット1回線に対しての最大契約数
		parentMap.put("max_same_seikyusaki_cnt", JFUWebCommon.getApplicationConst(MAX_SAME_SEIKYUSAKI_CNT));
		// No244 Otsuka 2013/02/21 end

		outputMap.put("FUSV015219CC", parentMap);

		return outputMap;
	}

	// WiFiセット申し込み対応 2012/11/09 h.iwamoto START
	/**
	 * お客様CCへのマッピングを行う
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return
	 */
	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);
		
		// eoID
		String eoid = JFUStrConst.EMPTY;
		// 販売タイプが量販・訪販の場合はエイジング登録しない。
		String hanbaiType = webNewInfoBean.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE);
		if (JFUStrConst.HNBAI_TYPE_HOHAN.equals(hanbaiType) || JFUStrConst.HNBAI_TYPE_RYOHAN.equals(hanbaiType))
		{
			eoid = JFUStrConst.EMPTY;
		} else {
			eoid = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.EOID_09, 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("cust_kojin_map_key", "ECK0021D010");
		// お客様＜法人＞登録マップキー
		parentMap.put("cust_hojin_map_key", "ECK0031D010");
		// 連絡先登録マップキー
		parentMap.put("rrks_add_map_key", "ECK0201D010");
		// WiFiセット申し込み対応 2012/11/09 h.iwamoto START
		// 連絡先登録リストキー
		parentMap.put("rrks_add_list_key", "ECK0201D010List");
		// WiFiセット申し込み対応 2012/11/09 h.iwamoto END
		// 契約者分割住所マップキー
		parentMap.put("keisha_split_address_map_key", "FUSV015212CC");
		// 仮申込フラグ
		parentMap.put("kari_mskm_flg", JFUStrConst.CD00667_1);
		// eoID
		parentMap.put("eoid", eoid);

		outputMap.put("FUSV015201CC", parentMap);

		return outputMap;
	}

	// WiFiセット申し込み対応 2012/11/09 h.iwamoto END

	// -----ST2-2012-0001752(ロット1取込) 2012/10/04 h.iwamoto START-----
	/**
	 * 仮申込フラグ変更SC上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @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;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// モバイル情報
		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);
		// 契約サービス情報
		X31SDataBeanAccess bnKeiyakusvcinfo = getKeiyakusvcinfo(bnWebinfo);
		// 光テレビ
		X31SDataBeanAccess bnEotv = getEotv(bnWebinfo);

		// テレビコース
		String tvCourse = bnEotv.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE);
		// ネット
		String netSelect = bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 電話
		String telSelect = bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// モバイル
		String mobSelect = bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		if (MISENTAKU.equals(netSelect) && MISENTAKU.equals(telSelect) && JFUStrConst.MOBILE_COURSE_NON.equals(mobSelect)
				&& JFUStrConst.TV_COURSE_KCN.equals(tvCourse))
		{
			HashMap<String, Object> parentMap = new HashMap<String, Object>();
			// ネット未選択 かつ 電話未選択 かつ モバイル未選択 かつ ＫＣＮの場合はＫＣＮテレビ単独申込

			// 共通情報のマッピング
			parentMap.put("func_code", func_code);

			// 仮申込フラグ
			parentMap.put("kari_mskm_flg", JFUStrConst.EMPTY);

			// これ以外の情報はejb層でマッピングする

			outputMap.put("FUSV015226SC", parentMap);
		}

		return outputMap;
	}

	/**
	 * 申込内容承認SC上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @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;
		}

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// モバイル情報
		X31SDataBeanAccess bnMobile = getMobile(bnWebinfo);
		// 契約サービス情報
		X31SDataBeanAccess bnKeiyakusvcinfo = getKeiyakusvcinfo(bnWebinfo);
		// 光テレビ
		X31SDataBeanAccess bnEotv = getEotv(bnWebinfo);

		// テレビコース
		String tvCourse = bnEotv.sendMessageString(CommonInfoCFConst.TV_COURSE_13, X31CWebConst.DATABEAN_GET_VALUE);
		// ネット
		String netSelect = bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE);
		// 電話
		String telSelect = bnKeiyakusvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE);
		// モバイル
		String mobSelect = bnMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		if (MISENTAKU.equals(netSelect) && MISENTAKU.equals(telSelect) && JFUStrConst.MOBILE_COURSE_NON.equals(mobSelect)
				&& JFUStrConst.TV_COURSE_KCN.equals(tvCourse))
		{
			HashMap<String, Object> parentMap = new HashMap<String, Object>();
			// ネット未選択 かつ 電話未選択 かつ モバイル未選択 かつ ＫＣＮの場合はＫＣＮテレビ単独申込

			// 共通情報のマッピング
			parentMap.put("func_code", func_code);

			// コンシューマ営業用申込状態識別コード
			parentMap.put("consmbsn_mskm_stat_skbt_cd", JFUStrConst.CD00760_04);

			// これ以外の情報はejb層でマッピングする

			outputMap.put("FUSV015227SC", parentMap);
		}

		return outputMap;
	}

	// -----ST2-2012-0001752(ロット1取込) 2012/10/04 h.iwamoto END-----
	// -----ST2-2012-0001752 2012/10/04 h.iwamoto END-----

	// -----WiFi上限数対応 2013/02/06 y.kusumoto START-----
	/**
	 * モバイルサービス契約上限数チェック共通コンポーネントへ上りマッピングを行います。
	 * 
	 * <br>
	 * @param bean
	 * @param outputMap
	 * @param func_code
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public HashMap<String, Object> setJFUChkMobileSvcKeiUpplnoCC(X31SDataBeanAccess[] bean, HashMap<String, Object> outputMap, String func_code)
			throws Exception
	{
		if (bean == null)
		{
			return null;
		}

		if (bean.length != 2)
		{
			return null;
		}

		// ＷＥＢ新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[0]);
		//X31SDataBeanAccess webNewInfoBean = getWebNewInfo(bean[1]);

		// 申込区分
		String mskm_kbn = webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE);

		if (JFUStrConst.MSKM_KBN_ADD.equals(mskm_kbn))
		{
			HashMap<String, Object> parentMap = new HashMap<String, Object>();

			// SYSID
			parentMap.put("sysid", webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));

			Map dispMap = JFUWebCommon.getDispItemsAsMap("DISPSETTING/SETTING[@screenId='FUW00114']/DISPTEXT[@groupid='COMMON_KEI_INFO']", "id");
			// 上限数
			parentMap.put("upplno", dispMap.get("max_wifi_kei_cnt"));

			outputMap.put("JFUChkMobileSvcKeiUpplnoCC", parentMap);
		}

		return outputMap;
	}

	// -----WiFi上限数対応 2013/02/06 y.kusumoto END-----

	/**
	 * 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;
	}

	/**
	 * 契約者情報
	 * 
	 * @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 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 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 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 getMansioninfo(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.MANSION_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 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 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 getOtherinfo(X31SDataBeanAccess bn)
	{

		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.ELSE_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * ＰＡＳＣＯ情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getPasco(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 getElseInfo(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.ELSE_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 住宅情報
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getJutakuinfo(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.JUTAKU_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 利用回線・機器情報Beanを取得する。
	 * 
	 * @param bn WEB新規情報Bean
	 * @return 利用回線・機器情報Bean
	 */
	private X31SDataBeanAccess getUseKaisenKikiInfo(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.USE_KAISEN_KIKI_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 汎用コードリスト
	 * 
	 * @param bn
	 * @return bn1
	 */
	//	private X31SDataBeanAccess getHanyoCdList(X31SDataBeanAccess bn)
	//	{
	//		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST);
	//		if (arr.getCount() == 0)
	//		{
	//			arr.addDataBean();
	//		}
	//		X31SDataBeanAccess bn1 = arr.getDataBean(0);
	//
	//		return bn1;
	//	}
	/**
	 * 契約者情報・メールアドレスを取得する
	 * 
	 * <br>
	 * @param keiyakushaInfoBean
	 * @param keiSbt
	 * @return String
	 */
	public String getKshMlad(X31SDataBeanAccess keiyakushaInfoBean, String keiSbt)
	{
		String retString = "";

		if (JFUStrConst.CD00036_1.equals(keiSbt))
		{
			// 契約種別が個人の場合
			retString = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else
		{
			// 契約種別が法人の場合
			retString = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}

		return retString;
	}

	/**
	 * 共有フォームBeanの値より、異動区分を取得する
	 * 
	 * <br>
	 * @param bnWebinfo　WEB新規情報
	 * @return String
	 */
	public 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;
	}

	/**
	 * 共有フォームBeanの値より、支払継続フラグを取得する
	 * 
	 * <br>
	 * @param bnWebinfo　WEB新規情報
	 * @return String
	 */
	public String getPaywayKeizokuFlg(X31SDataBeanAccess bnWebinfo)
	{
		String retString = "";

		// 申込区分が1：新規の場合
		if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KBN_NEW))
		{
			retString = "";
			// 申込区分が2：追加
		}
		else if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KBN_ADD))
		{
			//TODO  retString = JFUStrConst.;
			retString = "2";
		}

		return retString;
	}

	/**
	 * 支払い方法情報
	 * @param webNewInfoBean
	 * @return bn1
	 */
	public X31SDataBeanAccess getPaywayInfo(X31SDataBeanAccess webNewInfoBean)
	{
		X31SDataBeanAccessArray arr = webNewInfoBean.getDataBeanArray(CommonInfoCFConst.PAYWAY_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}

	/**
	 * 共有フォームBeanの値より、提供方式契約番号を取得する
	 * 
	 * <br>
	 * @param bnWebinfo　WEB新規情報
	 * @param bnMansioninfo　マンション情報
	 * @return String
	 */
	public String getTkHoshikiKeiNo(X31SDataBeanAccess bnWebinfo, X31SDataBeanAccess bnMansioninfo, String tvFlg)
	{
		String retString = "";

		if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KSN_SVC_MANSION)
		// IT2-2012-0000261 2012/03/21 h.iwamoto START
		// 申込回線サービスがマンションの場合は提供方式契約番号を取得する(マンション・メゾンは問わず)
		// && bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06,X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_MNS_TYPE_MANSION)
		// IT2-2012-0000261 2012/03/21 h.iwamoto END
		)
		{
			if ("".equals(tvFlg))
			{
				retString = bnMansioninfo.sendMessageString(CommonInfoCFConst.TK_HOSHIKI_KEI_NO_16, X31CWebConst.DATABEAN_GET_VALUE);
			}
			else
			{
				retString = bnMansioninfo.sendMessageString(CommonInfoCFConst.TV_TK_HOSHIKI_KEI_NO_16, X31CWebConst.DATABEAN_GET_VALUE);
			}
		}

		return retString;
	}

	/**
	 *  料金コースコード（サービス契約内訳）取得する
	 * 
	 * <br>
	 * @param bnEomobie　モバイル情報
	 * @param bnRedirectinfo　リダイレクト情報
	 * @return String
	 */
	public String getPcrsCd(X31SDataBeanAccess bnEomobie, X31SDataBeanAccess bnRedirectinfo)
	{
		String retString = "";
		// モバイルコース
		String mobCrs = bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		// モバイルコースがWiFiの場合
		if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_WIFI))
		{
			retString = JFUStrConst.CD00134_A45;
			// モバイルコースが3: 3G 7.2Mの場合
		}
		else if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_7_2M))
		{
			retString = JFUStrConst.CD00134_A45;
			// モバイルコースが4: 3G 21Mの場合
		}
		else if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_21M))
		{
			retString = JFUStrConst.CD00134_A45;
			// モバイルコースが5: WiMAXかつWiMAXROMが1:黒ロム(action=WiwH)の場合
		}
		else if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_WIMAX)
				&& bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.WIMAXROM_BLACK))
		{
			retString = JFUStrConst.CD00134_A46;

			// モバイルコースが5: WiMAXかつWiMAXROMが0:白ロムの場合
		}
		else if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_WIMAX)
				&& bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.WIMAXROM_WHITE))
		{
			retString = JFUStrConst.CD00134_A46;
			// モバイルコースが6: 3G 光ハイブリッドの場合
		}
		else if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_HHB) || mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_21M_HHB)) // ----- IT1-2012-0001111 2012/10/05 h.iwamoto-----
		{
			retString = JFUStrConst.CD00134_A45;
		}

		return retString;
	}

	/**
	 *  料金プランコード（サービス契約内訳）取得する
	 * 
	 * <br>
	 * @param bnEomobie　モバイル情報
	 * @param bnRedirectinfo　リダイレクト情報
	 * @return String
	 */
	public String getPlanCdCd(X31SDataBeanAccess bnEomobie, X31SDataBeanAccess bnRedirectinfo)
	{
		String retString = "";
		// モバイルコース
		String mobCrs = bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE);

		// モバイルコースがWiFiの場合
		if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_WIFI))
		{
			retString = JFUStrConst.CD00565_PA4501;

			// モバイルコースが3: 3G 7.2Mの場合
		}
		else if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_7_2M))
		{
			retString = JFUStrConst.CD00565_PA4501;

			// モバイルコースが4: 3G 21Mの場合
		}
		else if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_21M))
		{
			retString = JFUStrConst.CD00565_PA4501;

			// モバイルコースが5: WiMAXかつWiMAXROMが1:黒ロム(action=WiwH)の場合
		}
		else if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_WIMAX)
				&& bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.WIMAXROM_BLACK))
		{
			retString = JFUStrConst.CD00565_PA4601;

			// モバイルコースが5: WiMAXかつWiMAXROMが0:白ロムの場合
		}
		else if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_WIMAX)
				&& bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.WIMAXROM_WHITE))
		{
			retString = JFUStrConst.CD00565_PA4601;
			// モバイルコースが6: 3G 光ハイブリッドの場合
		}
		else if (mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_HHB) || mobCrs.equals(JFUStrConst.MOBILE_COURSE_3G_21M_HHB)) // ----- IT1-2012-0001111 2012/10/05 h.iwamoto-----
		{
			retString = JFUStrConst.CD00565_PA4501;

		}
		return retString;
	}

	/**
	 *  住所未確定フラグを取得する
	 * 
	 * <br>
	 * @param bnRiyobasyoinfo　リダイレクト情報
	 * @return String
	 */
	public String getAdMiFixFlg(X31SDataBeanAccess bnRiyobasyoinfo)
	{
		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;
		}
		/** 2012/02/18 楠山 量販・訪販用処理 追加 START */
		else if (JFUStrConst.SETPLACE_BNCHI_MIKAKUTEI.equals(retString))
		{
			// 番地未確定の場合は"1"（未確定）を設定
			retString = JFUStrConst.CD00467_1;
		}

		/** 2012/02/18 楠山 量販・訪販用処理 追加 START */

		return retString;
	}

	/**
	 *  契約者氏名（漢字）を取得する
	 * 
	 * <br>
	 * @param bnWebinfo WEB新規情報
	 * @param bnKeiyakuinfo　契約者情報
	 * @return String
	 */
	public 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
	 */
	public 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新規情報
	 * @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;
	}

	// IT1-2012-0001766 長期利用割引の設定 Otsuka 2012/11/01 start
	/**
	 * 共有フォームBeanの値より、即割・長期利用割引の割引サービスコードを取得する
	 * 
	 * <br>
	 * @param bnWebinfo　WEB新規情報
	 * @return String
	 * @throws Exception
	 */
	private String getWribSvcCdSokuwari(X31SDataBeanAccess bnWebinfo) throws Exception
	{
		/**
		 * 即割が選択されている場合
		 */
		if (SENTAKU.equals(getEonet(bnWebinfo).sendMessageString(CommonInfoCFConst.NET_SOKUWARI_11, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// 即割りの割引サービスコードを設定する
			return JFUStrConst.KK0841_WRIB_SVC_CD_SOKUWARI;

		}

// ANK-4427-35-00 MOD START
//		//長期利用割引の割引サービスコードを設定する
//		return JFUStrConst.KK0841_WRIB_SVC_CD_CHOWARI;
		if (JFUWebCommon.isNull(bnWebinfo.sendMessageString(CommonInfoCFConst.TYPEN_FLG_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			//長期利用割引の割引サービスコードを設定する
			return JFUStrConst.KK0841_WRIB_SVC_CD_CHOWARI;
		}
		else
		{
			// typeNの場合、旧長割は設定しない
			return JFUStrConst.EMPTY;
		}
// ANK-4427-35-00 MOD END
	}

	// IT1-2012-0001766 長期利用割引の設定 Otsuka 2012/11/01 end

	/**
	 * 共有フォームBeanの値より、長割の割引サービスコードを取得する
	 * 
	 * <br>
	 * @param bnWebinfo　WEB新規情報
	 * @return String
	 * @throws Exception
	 */
	private String getWribSvcCdChowari(X31SDataBeanAccess bnWebinfo) throws Exception
	{
		/**
		 * 長割が選択されている場合
		 */
		if (SENTAKU.equals(getEonet(bnWebinfo).sendMessageString(CommonInfoCFConst.NET_CHOWARI_11, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// IT1-2012-0001766 Otsuka del 2012/11/03
			return JFUStrConst.KK0841_WRIB_SVC_CD_CHOKEIWARI;
		}
		return JFUStrConst.EMPTY;
	}

	/**
	 * 割引サービスコードにより料金コースコード または 料金プランコードを取得する
	 * 
	 * <br>
	 * @param wribSvcCd　割引サービスコード
	 * @param flg　フラグ
	 * @return String
	 */
	public String getPcrsCdOrPplanCd(String wribSvcCd, String flg)
	{
		String rtnCd = null;

		// 割引サービス登録ワークに料金コースコードと料金コースプランコードを設定する
		// 割引サービスコードがファミリーパックの場合
		if (wribSvcCd.equals(WRIBSVC_CD_W00000006))
		{
			if (PCRS_CD_FLG.equals(flg))
			{
				rtnCd = JFUStrConst.CD00134_F01;
			}
			else
			{
				rtnCd = JFUStrConst.CD00565_PF0101;
			}
		}
		// 割引サービスコードがおまかせ安心セットの場合
		else if (wribSvcCd.equals(WRIBSVC_CD_W00000007))
		{
			if (PCRS_CD_FLG.equals(flg))
			{
				rtnCd = JFUStrConst.CD00134_F02;
			}
			else
			{
				rtnCd = JFUStrConst.CD00565_PF0201;
			}
		}

		return rtnCd;
	}

	/**
	 * 割引サービスコード登録CC上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @throws Exception
	 */
	public boolean isFUSV015222CC(X31SDataBeanAccess[] bean) throws Exception
	{
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(bnWebinfo);
		// 汎用コードリスト取得
		X31SDataBeanAccessArray hanyoCdList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST);

		// 汎用コードリストのカウント取得する。
		int hanyoCnt = hanyoCdList.getCount();

		// 汎用コードの件数分ループさせ、値を格納する。
		for (int i = 0; i < hanyoCnt; i++)
		{

			X31SDataBeanAccess hanyoBeanInfo = hanyoCdList.getDataBean(i);

			if (!JFUStrConst.HANYO_SBT_CD_WARIBIKI.equals(hanyoBeanInfo.sendMessageString(CommonInfoCFConst.HANYO_CD_46,
					X31CWebConst.DATABEAN_GET_VALUE)))
			{
				continue;
			}
			return true;
		}

		// リダイレクト情報.新規申込用割引サービスコードに値が設定されている場合実行する。
		if (null != bnRedirectinfo.sendMessageString(CommonInfoCFConst.NEW_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)
				&& !"".equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.NEW_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;

		}

		// リダイレクト情報.追加申込用割引サービスコードに値が設定されている場合実行する。
		if (null != bnRedirectinfo.sendMessageString(CommonInfoCFConst.ADD_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)
				&& !"".equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.ADD_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;

		}

		// リダイレクト情報.WiMAX（白ロム）用割引サービスコードに値が設定されている場合実行する。
		if (null != bnRedirectinfo.sendMessageString(CommonInfoCFConst.WIMAX_WHITE_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)
				&& !"".equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.WIMAX_WHITE_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;

		}

		// リダイレクト情報.紹介用割引サービスコードに値が設定されている場合実行する。
		if (null != bnRedirectinfo.sendMessageString(CommonInfoCFConst.INTR_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)
				&& !"".equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.INTR_WRIB_SVC_CD_17, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;

		}

		return false;
	}

	/**
	 * データ抽出項目コード登録CC上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param wribFlg 割引フラグ true:割引サービスがある  false:割引サービスがない
	 * @return outputMap
	 */
	@SuppressWarnings("unchecked")
	public boolean isFUSV015217CC(X31SDataBeanAccess[] bean)
	{
		ArrayList addDchskmCdList = new ArrayList();

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(bnWebinfo);
		// 契約サービス情報
		X31SDataBeanAccess bnKeiSvcinfo = getKeiyakusvcinfo(bnWebinfo);
		// 汎用コードリスト取得
		X31SDataBeanAccessArray hanyoCdList = bnWebinfo.getDataBeanArray(CommonInfoCFConst.HANYO_CD_LIST);

		// 汎用コードリストのカウントを取得する。
		int hanyoCnt = hanyoCdList.getCount();

		// 汎用コードの件数分ループさせ、値を格納する。
		for (int i = 0; i < hanyoCnt; i++)
		{
			X31SDataBeanAccess hanyoBeanInfo = hanyoCdList.getDataBean(i);

			if (!JFUStrConst.HANYO_SBT_CD_HANYO.equals(hanyoBeanInfo
					.sendMessageString(CommonInfoCFConst.HANYO_CD_46, X31CWebConst.DATABEAN_GET_VALUE)))
			{
				continue;
			}
			return true;
		}

		// リダイレクト情報.新規申込用データ抽出項目コードに値が設定されている場合実行する。
		if (null != bnRedirectinfo.sendMessageString(CommonInfoCFConst.NEW_DCHSKM_CD_17, X31CWebConst.DATABEAN_GET_VALUE)
				&& !"".equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.NEW_DCHSKM_CD_17, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;

		}

		// リダイレクト情報.追加申込用データ抽出項目コードに値が設定されている場合実行する。
		if (null != bnRedirectinfo.sendMessageString(CommonInfoCFConst.ADD_DCHSKM_CD_17, X31CWebConst.DATABEAN_GET_VALUE)
				&& !"".equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.ADD_DCHSKM_CD_17, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;

		}

		// 登録対象が1件以上または、ネット選択していないまたは、KCN遷移の場合
		if (addDchskmCdList.size() > 0
				|| !JFUStrConst.SELECT_SVC_NET_CHOICE.equals(bnKeiSvcinfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10,
						X31CWebConst.DATABEAN_GET_VALUE))
				|| JFUStrConst.RED_KCN_MSKM_KCN.equals(bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_KCN_MSKM_17,
						X31CWebConst.DATABEAN_GET_VALUE)))
		{
			return true;
		}

		return false;
	}

	/**
	 * 他事業者割引契約申込登録処理上りマッピング
	 * 
	 * @param bean　[0]：共有フォームビーン
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015225SC(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 elseInfo = getElseInfo(bnWebinfo);

		String kddi_val_cd = elseInfo.sendMessageString(CommonInfoCFConst.AU_SMART_VALUE_CD_18, X31CWebConst.DATABEAN_GET_VALUE);

		// auスマートバリューコードが設定されていた場合のみマッピングを行う。
		if (kddi_val_cd.length() > 0)
		{
			// 機能コード
			parentMap.put("func_code", func_code);

			// auスマートバリューコード → KDDIバリューコード
			parentMap.put("kddi_val_cd", elseInfo.sendMessageString(CommonInfoCFConst.AU_SMART_VALUE_CD_18, X31CWebConst.DATABEAN_GET_VALUE));

			// 他事業者通知抑止有無 0(無)固定
			parentMap.put("tajgs_tch_yoksi_um", JFUStrConst.CD00002_0);

			outputMap.put("FUSV015225SC", parentMap);
		}
		return outputMap;
	}

	/**
	 * 申込書明細番号採番CC上りマッピングをする。
	 * @param bean 共有フォームBean
	 * @param inputMap サービスに設定するinputMap
	 * @return inputMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setJFUMskmshoDtlSibnCC(X31SDataBeanAccess[] bean, HashMap inputMap)
	{

		if (bean == null)
		{
			return null;
		}

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);

		// 契約サービス情報
		X31SDataBeanAccess bnKeiyakuSvcInfo = getKeiyakusvcinfo(bnWebinfo);

		// eoモバイル
		X31SDataBeanAccess bnEoMobile = getMobile(bnWebinfo);

		// 申込回線サービス
		parentMap.put("mskm_ksn_svc", bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE));

		// 申込マンションタイプ
		parentMap.put("mskm_mns_type", bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_MNS_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));

		// 販売タイプ
		parentMap.put("hanbai_type", bnWebinfo.sendMessageString(CommonInfoCFConst.HANBAI_TYPE_06, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約中サービス（ネット）
		parentMap.put("now_svc_net", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.NOW_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約中サービス（電話）
		parentMap.put("now_svc_tel", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.NOW_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約中サービス（テレビ）
		parentMap.put("now_svc_tv", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.NOW_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 契約中サービス（モバイル）
		parentMap.put("now_svc_mobile", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.NOW_SVC_MOBILE_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 選択サービス（ネット）
		parentMap.put("select_svc_net", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_NET_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 選択サービス（電話）
		parentMap.put("select_svc_tel", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TEL_10, X31CWebConst.DATABEAN_GET_VALUE));

		// 選択サービス（テレビ）
		parentMap.put("select_svc_tv", bnKeiyakuSvcInfo.sendMessageString(CommonInfoCFConst.SELECT_SVC_TV_10, X31CWebConst.DATABEAN_GET_VALUE));

		// モバイルコース
		parentMap.put("mobile_course", bnEoMobile.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE));

		inputMap.put("JFUMskmshoDtlNoSibnCC", parentMap);

		return inputMap;
	}

	/**
	 * 申込書明細番号採番CC下りマッピングをする。
	 * @param bean 共有フォームBean
	 * @param outputMap サービスの処理結果が格納されたoutputMap
	 */
	@SuppressWarnings("unchecked")
	public void getJFUMskmshoDtlSibnCC(X31SDataBeanAccess[] bean, HashMap outputMap)
	{
		if (outputMap == null || !outputMap.containsKey("JFUMskmshoDtlNoSibnCC"))
		{
			return;
		}

		// 申込書明細番号採番CCの結果を取得する。
		HashMap sibnMap = (HashMap)outputMap.get("JFUMskmshoDtlNoSibnCC");

		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);

		// ネットの申込書明細番号が採番されている場合
		if (sibnMap.containsKey("mskmsho_dtl_no_net"))
		{
			getEonet(bnWebinfo).sendMessageString(CommonInfoCFConst.MSKMSHO_DTL_NO_11, X31CWebConst.DATABEAN_SET_VALUE,
					(String)sibnMap.get("mskmsho_dtl_no_net"));
		}

		// 電話の申込書明細番号が採番されている場合
		if (sibnMap.containsKey("mskmsho_dtl_no_tel"))
		{
			X31SDataBeanAccess[] eoTelArray = getEotel(bnWebinfo);

			for (int i = 0; i < eoTelArray.length; i++)
			{
				eoTelArray[i].sendMessageString(CommonInfoCFConst.MSKMSHO_DTL_NO_12, X31CWebConst.DATABEAN_SET_VALUE, (String)sibnMap
						.get("mskmsho_dtl_no_tel"));
			}

		}

		// テレビの申込書明細番号が採番されている場合
		if (sibnMap.containsKey("mskmsho_dtl_no_tv"))
		{
			getEotv(bnWebinfo).sendMessageString(CommonInfoCFConst.MSKMSHO_DTL_NO_13, X31CWebConst.DATABEAN_SET_VALUE,
					(String)sibnMap.get("mskmsho_dtl_no_tv"));
		}

		// モバイルの申込書明細番号が採番されている場合
		if (sibnMap.containsKey("mskmsho_dtl_no_mobile"))
		{
			getMobile(bnWebinfo).sendMessageString(CommonInfoCFConst.MSKMSHO_DTL_NO_14, X31CWebConst.DATABEAN_SET_VALUE,
					(String)sibnMap.get("mskmsho_dtl_no_mobile"));
		}
	}

	/**
	 * 共有フォームBeanの情報から、ネットの料金コースコードを取得する。
	 * @param bean 共有フォームBean
	 * @return 料金コースコード
	 */
	private String getNetPcrsCd(X31SDataBeanAccess[] bean)
	{
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// 光ネット
		X31SDataBeanAccess bnEonet = getEonet(bnWebinfo);
		// マンション情報
		X31SDataBeanAccess bnMansioninfo = getMansioninfo(bnWebinfo);

		// ホームタイプ
		if (bnWebinfo.sendMessageString(CommonInfoCFConst.MSKM_KSN_SVC_06, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MSKM_KSN_SVC_HOME))
		{
			String netCourse = bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);
			// 料金コースコード
			return JFUWebCommon.getPcrsCdHomeNet(netCourse);
		}
		// メゾンタイプ
		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))
		{
			String netCourse = bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE);
			// 料金コースコード
			return JFUWebCommon.getPcrsCdMezonNet(netCourse);
		}
		// マンションタイプ
		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))
		{
			if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_100M))
			{
				// マンションタイプ100Ｍ
				if (bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.TK_HOSHIKI_PTN_VDSL)
						|| bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.TK_HOSHIKI_PTN_VDSLS))
				{
					// 提供方式コードがVDSL または VDSL-Sの場合
					// 2012/05/17 VDSL時の料金コースコード、料金プランコードを修正 START
					String tkHoshiki = bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_CD_16, X31CWebConst.DATABEAN_GET_VALUE);
					// 提供方式コードが"004"VDSL2の場合
					if (tkHoshiki.equals(JFUStrConst.TK_HOSHIKI_VDSL2))
					{
						return JFUStrConst.CD00134_A50;
					}
					// 提供方式コードが"005"VDSL3の場合
					else if (tkHoshiki.equals(JFUStrConst.TK_HOSHIKI_VDSL3))
					{
						return JFUStrConst.CD00134_A51;
					}
					// 提供方式コードが"006"VDSL4の場合
					else if (tkHoshiki.equals(JFUStrConst.TK_HOSHIKI_VDSL4))
					{
						return JFUStrConst.CD00134_A52;
					}
					// 提供方式コードが"007"VDSL5の場合
					else if (tkHoshiki.equals(JFUStrConst.TK_HOSHIKI_VDSL5))
					{
						return JFUStrConst.CD00134_A53;
					}
				}
				else if (bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.TK_HOSHIKI_PTN_ENET)
						|| bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.TK_HOSHIKI_PTN_GG_ENET))
				{
					// 提供方式コードがイーサネットの場合
					return JFUStrConst.CD00134_A54;
				}
				else if (bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN))
				{
					// 提供方式コードが光回線の場合
					return JFUStrConst.CD00134_A56;
				}
			}
			else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_1G))
			{
				// マンションタイプ1ギガ
				if (bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.TK_HOSHIKI_PTN_ENET)
						|| bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
								JFUStrConst.TK_HOSHIKI_PTN_GG_ENET))
				{

					// 提供方式コードがギガイーサの場合
					return JFUStrConst.CD00134_A55;
				}
				// 光配線１ギガ
				else if (bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN))
				{
					return JFUStrConst.CD00134_A57;
				}
			}
			else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.NET_COURSE_100M_LIGHT))
			{
				/**
				 * 100Mライトの場合
				 */
				String tkHoshiki = bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_CD_16, X31CWebConst.DATABEAN_GET_VALUE);

				if (tkHoshiki.equals(JFUStrConst.TK_HOSHIKI_HIKARI_HAISEN))
				{
					/**
					 * 光配線の場合
					 */
					// 料金コースコード
					return JFUStrConst.CD00134_A56;
				}
			}
			else if (bnEonet.sendMessageString(CommonInfoCFConst.NET_COURSE_11, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.NET_COURSE_10G))
			{
				// 光配線１０ギガ
				if (bnMansioninfo.sendMessageString(CommonInfoCFConst.TEIKYO_HOSHIKI_PTN_CD_16, X31CWebConst.DATABEAN_GET_VALUE).equals(
						JFUStrConst.TK_HOSHIKI_PTN_HIKARI_HAISEN))
				{
					return JFUStrConst.CD00134_A74;
				}
			}
		}

		return "";
	}

	/**
	 * 共有フォームBeanの情報から、モバイルの料金コースコードを取得する。
	 * @param bean 共有フォームBean
	 * @return 料金コースコード
	 */
	private String getMobilePcrsCd(X31SDataBeanAccess[] bean)
	{
		// WEB新規情報
		X31SDataBeanAccess bnWebinfo = getWebInfo(bean[0]);
		// リダイレクト情報
		X31SDataBeanAccess bnRedirectinfo = getRedirectinfo(bnWebinfo);
		// モバイル
		X31SDataBeanAccess bnEomobie = getMobile(bnWebinfo);

		// 料金グループコード(共有フォームBean.モバイルコースにより設定）
		//1: WiFiの場合
		if (bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(JFUStrConst.MOBILE_COURSE_WIFI))
		{
			// 料金コースコード
			return JFUStrConst.CD00134_A30;
			// 5: WiMAXの場合
		}
		else if (bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
				JFUStrConst.MOBILE_COURSE_WIMAX))
		{
			// 料金コースコード
			if (bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.WIMAXROM_BLACK))
			{
				// 黒ロム
				return JFUStrConst.CD00134_A28;
			}
			else if (bnRedirectinfo.sendMessageString(CommonInfoCFConst.RED_WIMAXROM_17, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.WIMAXROM_WHITE))
			{
				// 白ロム
				return JFUStrConst.CD00134_A29;
			}
		}
		else
		{
			// 3: 3G 7.2M
			if (bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_3G_7_2M))
			{
				// 料金コースコード
				return JFUStrConst.CD00134_A26;
			}
			// 4: 3G 21M
			if (bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_3G_21M))
			{
				// 料金コースコード
				return JFUStrConst.CD00134_A27;
			}
			// 6: 3G 光ハイブリッド
			if (bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_3G_HHB))
			{
				// 料金コースコード A59
				return JFUStrConst.CD00134_A59;
			}
			// 7:3g 21M 光ハイブリッド
			if (bnEomobie.sendMessageString(CommonInfoCFConst.MOBILE_COURSE_14, X31CWebConst.DATABEAN_GET_VALUE).equals(
					JFUStrConst.MOBILE_COURSE_3G_21M_HHB)) // IT1-2012-0001111 2012/10/05 h.iwamoto
			{
				// 料金コースコード A60
				return JFUStrConst.CD00134_A60;
			}
		}

		return "";
	}

	/* 2013/01/23 低価格マンション料金確認用番号削除対応 Y.Saitou ADD-START */
	/**
	 * 低価格マンション料金確認用番号削除マップの上りマッピングをする
	 * 
	 * @param bean　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEFU0091E010(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 mansionInfo = getMansioninfo(bnWebinfo);

		// 低価格マンション料金確認用番号
		String lpmsPrcCfmNo = mansionInfo.sendMessageString(CommonInfoCFConst.LPMS_PRC_CFM_NO_16, X31CWebConst.DATABEAN_GET_VALUE);
		// 低価格マンション料金確認用番号が設定されていた場合のみマッピングを行う。
		if (lpmsPrcCfmNo != null && lpmsPrcCfmNo.trim().length() > 0)
		{
			// 機能コード
			parentMap.put("func_code", func_code);

			// 低価格マンション料金確認用番号
			parentMap.put("lpms_prc_cfm_no", lpmsPrcCfmNo);

			outputMap.put("EFU0091E010", parentMap);
		}
		return outputMap;
	}

	/* 2013/01/23 低価格マンション料金確認用番号削除対応 Y.Saitou ADD-END */

	// No375 2013/02/07 Otsuka start
	/**
	 * CommonInfoCFConstからSTBの定数を取得する。
	 * @param i
	 * @return String
	 */
	private String getStbHd(int i)
	{
		String stbHd = "";

		if (i == 0)
		{
			stbHd = CommonInfoCFConst.STB_HD1_13;
		}
		else if (i == 1)
		{
			stbHd = CommonInfoCFConst.STB_HD2_13;
		}
		else if (i == 2)
		{
			stbHd = CommonInfoCFConst.STB_HD3_13;
		}
		else if (i == 3)
		{
			stbHd = CommonInfoCFConst.STB_HD4_13;
		}
		else if (i == 4)
		{
			stbHd = CommonInfoCFConst.STB_HD5_13;
		}
		return stbHd;
	}

	// No375 2013/02/07 Otsuka end

	// No655 2013/04/12 Otsuka start
	/**
	 * CommonInfoCFConstからSTB機器の定数を取得する。
	 * @param i
	 * @return String
	 */
	private String getStbHdKiki(int i)
	{
		String stbHdKiki = "";

		if (i == 0)
		{
			stbHdKiki = CommonInfoCFConst.STB_HD1_KIKI_13;
		}
		else if (i == 3)
		{
			stbHdKiki = CommonInfoCFConst.STB_HD2_KIKI_13;
		}
		else if (i == 6)
		{
			stbHdKiki = CommonInfoCFConst.STB_HD3_KIKI_13;
		}
		else if (i == 9)
		{
			stbHdKiki = CommonInfoCFConst.STB_HD4_KIKI_13;
		}
		else if (i == 12)
		{
			stbHdKiki = CommonInfoCFConst.STB_HD5_KIKI_13;
		}
		return stbHdKiki;
	}

	// No655 2013/04/12 Otsuka end

	/**
	 * 契約者情報・氏名カナを取得する
	 * 
	 * <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;
	}

	/**
	 * オプトインメール受信設定ワーク登録CCの上りマッピング処理です。
	 * 
	 * <br>
	 * @param bean [0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap 結果マップ
	 * @param func_code 機能コード
	 * @return 結果マップ
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015231CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakuinfo(webNewInfoBean);

		// 契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);
		// メール受信設定表示フラグ
		String mjsDspFlg = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.MAIL_JUSIN_SETTEI_DSP_FLG_09,
				X31CWebConst.DATABEAN_GET_VALUE);

		// 機能コード
		parentMap.put("func_code", func_code);

		// SYSID
		if (!JFUWebCommon.isNull(webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE)))
		{
			// SYSIDが設定されている場合
			parentMap.put(IN_SYSID, webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			// SYSIDが設定されていない場合
			parentMap.put(IN_SYSID, JFUStrConst.EMPTY);

			// SYSID取得マップキー
			if (JFUStrConst.KEI_SBT_KOJINCD.equals(keiSbt))
			{
				// 個人の場合
				parentMap.put(GET_SYSID_COMP_NM, MAP_KEY_ECK0021D010);
			}
			else if (JFUStrConst.KEI_SBT_HOJINCD.equals(keiSbt))
			{
				// 法人の場合
				parentMap.put(GET_SYSID_COMP_NM, MAP_KEY_ECK0031D010);
			}
		}

		// メール受信設定表示フラグ
		parentMap.put(MAIL_JUSIN_SETTEI_DSP_FLG, mjsDspFlg);

		if (!MAIL_JUSIN_SETTEI_DSP_FLG_1.equals(mjsDspFlg))
		{
			// メール受信設定表示フラグが「1：表示」以外の場合
			outputMap.put(FUSV015231CC, parentMap);
			return outputMap;
		}

		// オプトインメール番号の件数分、登録リストを作成
		String optinmSel = JFUStrConst.EMPTY;
		String optinmNo = JFUStrConst.EMPTY;

		if (JFUStrConst.KEI_SBT_KOJINCD.equals(keiSbt))
		{
			// 契約種別が個人の場合
			optinmSel = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MAIL_JUSIN_SETTEI_SEL_09,
							X31CWebConst.DATABEAN_GET_VALUE);
			optinmNo = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MAIL_JUSIN_SETTEI_NO_09,
							X31CWebConst.DATABEAN_GET_VALUE);
		}
		else if (JFUStrConst.KEI_SBT_HOJINCD.equals(keiSbt))
		{
			// 契約種別が法人の場合
			optinmSel = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MAIL_JUSIN_SETTEI_SEL_09,
					X31CWebConst.DATABEAN_GET_VALUE);
			optinmNo = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MAIL_JUSIN_SETTEI_NO_09,
					X31CWebConst.DATABEAN_GET_VALUE);
		}

		String[] selList = null;
		String[] noList = null;

		if (!JFUWebCommon.isNull(optinmNo) && optinmNo.contains(JFUStrConst.COMMA))
		{
			// カンマ区切り有り
			selList = optinmSel.split(JFUStrConst.COMMA);
			noList = optinmNo.split(JFUStrConst.COMMA);
		}
		else if (!JFUWebCommon.isNull(optinmNo))
		{
			// カンマ区切り無し
			selList = new String[1];
			noList = new String[1];

			selList[0] = optinmSel;
			noList[0] = optinmNo;
		}

		ArrayList addList = new ArrayList();
		if (selList != null && noList != null)
		{
			for (int i = 0; i < noList.length; i++)
			{
				String sel = selList[i];
				String no = noList[i];

				HashMap map = new HashMap();

				// オプトインメール番号
				map.put(OPTINM_NO, no);
				// 受信区分
				map.put(RCV_DIV, sel);

				addList.add(map);
			}
		}

		// オプトインメールワーク登録リスト
		parentMap.put(OPTINM_WORK_ADD_LIST, addList);

		outputMap.put(FUSV015231CC, parentMap);

		return outputMap;
	}

	/**
	 * サービス契約グループ設定登録上りマッピングをする
	 * 
	 * @param bean
	 *            　[0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap
	 * @param func_code
	 *            　機能コード
	 * @return bean
	 */
	@SuppressWarnings("unchecked")
	public HashMap setEKK2961D010(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]);
		// eo電気サービス情報
		X31SDataBeanAccess bnElec = getEoelec(bnWebinfo);

		// サービス契約番号（eo電気）
		String svcKeiNoElec = bnElec.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_65, X31CWebConst.DATABEAN_GET_VALUE);

		// eo電気のサービス契約番号が未設定の場合は登録しない
		if (JFUWebCommon.isNull(svcKeiNoElec))
		{
			return outputMap;
		}

		ArrayList list = new ArrayList();

		HashMap childMap = new HashMap();

		// 共通情報のマッピング
		childMap.put("func_code", func_code);

		childMap.put(SVC_KEI_NO, bnElec.sendMessageString(CommonInfoCFConst.SVC_KEI_NO_65, X31CWebConst.DATABEAN_GET_VALUE));
		list.add(childMap);

		parentMap.put("EKK2961D010List", list);
		outputMap.put("EKK2961D010", parentMap);

		return outputMap;
	}

	/**
	 * eo電気
	 * 
	 * @param bn
	 * @return bn1
	 */
	private X31SDataBeanAccess getEoelec(X31SDataBeanAccess bn)
	{
		X31SDataBeanAccessArray arr = bn.getDataBeanArray(CommonInfoCFConst.EOELEC);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess bn1 = arr.getDataBean(0);

		return bn1;
	}
	
// ANK-3296-00-00 ADD START
	/**
	 * 工事費割賦契約登録SC上りマッピング
	 * 
	 * @param outputMap
	 * @param func_code　機能コード
	 * @param opeDate　起算日
	 * @return HashMap
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
// ANK-3951-00-00 MOD START
//	public HashMap setFUSV015233SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code) 
	public HashMap setFUSV015233SC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code, String opeDate) 
// ANK-3951-00-00 MOD END
	{	
		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[0]);
// IT1-2018-0000012 ADD START
		// 契約サービス情報
		X31SDataBeanAccess bnKeiService = getKeiyakusvcinfo(webNewInfoBean);
// IT1-2018-0000012 ADD END
		// 標準工事費お支払い方法
		String stdKojihiPayway = webNewInfoBean.sendMessageString(CommonInfoCFConst.STDARD_KOJIHI_PAYWAY_06, X31CWebConst.DATABEAN_GET_VALUE);
		String kapPlanCd = JFUStrConst.EMPTY;
		String kapPayZanCnt = JFUStrConst.EMPTY;
		
		if (JFUStrConst.STDARD_KOJIHI_PAYWAY_BUNKATSU.equals(stdKojihiPayway))
		{ // 標準工事費お支払い方法が "0"(分割払い) の場合
// ANK-3951-00-00 ADD START
			// 工事費割賦24回の蓋開けフラグ
			boolean kojihiKap24Flg = true;
			try {
				// 蓋開け日取得
				String kojihiKap24StartYmd = JFUWebCommon.getDispItem(PATH_KOJIHI_KAP_24_START_YMD);
				// 運用日が蓋開け日に到達していない場合は非表示
				if (Integer.parseInt(kojihiKap24StartYmd) > Integer.parseInt(opeDate))
				{
					kojihiKap24Flg = false;
				}
			} catch (Exception e) {
				// 例外発生時は蓋は開ける
				kojihiKap24Flg = true;
			}

			if(kojihiKap24Flg)
			{
				// 蓋開け以降は24回で送る
				// 割賦プランコード = "KP0146"(割賦24回)
				kapPlanCd = JFUStrConst.KK3131_KAP_PLAN_CD_KP0146;
				
				// 割賦支払い残回数 = "24"(分割)
				kapPayZanCnt = JFUStrConst.KK3131_KAP_PAY_ZAN_CNT_24;
			}
			else
			{
				// 蓋開け前の場合は従来の値で送る
// ANK-3951-00-00 ADD END
				
	// ANK-3636-00-00 MOD START
				// 割賦プランコード = "KP0140"(割賦30回)
				kapPlanCd = JFUStrConst.KK3131_KAP_PLAN_CD_KP0140;
	// ANK-3636-00-00 MOD END
				
				// 割賦支払い残回数 = "30"(分割)
				kapPayZanCnt = JFUStrConst.KK3131_KAP_PAY_ZAN_CNT_30;
				
// ANK-3951-00-00 ADD START
			}
// ANK-3951-00-00 ADD END
		}
		else if (JFUStrConst.STDARD_KOJIHI_PAYWAY_IKT.equals(stdKojihiPayway))
		{ // 標準工事費お支払い方法が[1:一括払い]の場合

// ANK-3636-00-00 MOD START
			// 割賦プランコード = KP0141(一括)
			kapPlanCd = JFUStrConst.KK3131_KAP_PLAN_CD_KP0141;
// ANK-3636-00-00 MOD END
			
			// 割賦支払い残回数 = "1"(一括)
			kapPayZanCnt = JFUStrConst.KK3131_KAP_PAY_ZAN_CNT_1;
		}

		// 機能コード
		parentMap.put(FUNC_CODE, func_code);
		// 割賦契約ステータス
		parentMap.put(KAP_KEI_STAT, JFUStrConst.CD01471_010);
		// 割賦プランコード
		parentMap.put(KAP_PLAN_CD, kapPlanCd);
		// サービス契約回線内訳番号
// IT1-2018-0000012 MOD START
//		parentMap.put(SVC_KEI_KAISEN_UCWK_NO, JFUStrConst.EMPTY);
// ANK-3518-00-00 MOD START
		// その他情報
		X31SDataBeanAccess bnElseinfo = getElseInfo(webNewInfoBean);
		
		// フロント共有情報
		X31SDataBeanAccessArray arr = bean[0].getDataBeanArray(CommonInfoCFConst.FRONT_COMMON_INFO);
		if (arr.getCount() == 0)
		{
			arr.addDataBean();
		}
		X31SDataBeanAccess beanFront = arr.getDataBean(0);
		
//		if (JFUStrConst.MSKM_KBN_ADD.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)) &&
//				JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_06, X31CWebConst.DATABEAN_GET_VALUE)))
		if ((JFUStrConst.MSKM_KBN_ADD.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)) &&
				JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_06, X31CWebConst.DATABEAN_GET_VALUE))) ||
				(JFUStrConst.FU_KBN_R.equals(beanFront.sendMessageString(CommonInfoCFConst.FU_KBN_05, X31CWebConst.DATABEAN_GET_VALUE)) &&
				JFUStrConst.MSKM_KBN_ADD.equals(webNewInfoBean.sendMessageString(CommonInfoCFConst.MSKM_KBN_06, X31CWebConst.DATABEAN_GET_VALUE)) &&
				JFUStrConst.KAISEN_SELECT_ADD_KEI.equals(bnElseinfo.sendMessageString(CommonInfoCFConst.KAISEN_SELECT_18, X31CWebConst.DATABEAN_GET_VALUE))))
// ANK-3518-00-00 MOD END
		{
			parentMap.put(SVC_KEI_KAISEN_UCWK_NO, bnKeiService.sendMessageString(CommonInfoCFConst.SVC_KEI_KAISEN_UCWK_NO_10,
					X31CWebConst.DATABEAN_GET_VALUE));
		}
		else
		{
			parentMap.put(SVC_KEI_KAISEN_UCWK_NO, JFUStrConst.EMPTY);
		}
// IT1-2018-0000012 MOD END
		// 初回請求サービス契約番号
		parentMap.put(FIRST_SEIKY_SVC_KEI_NO, JFUStrConst.EMPTY);
		// 申込明細番号
		parentMap.put(MSKM_DTL_NO, JFUStrConst.EMPTY);
		// 異動区分
		parentMap.put(IDO_DIV, getIdoKbn(webNewInfoBean));
		// 割賦一括請求切替年月
		parentMap.put(KAP_IKT_SIKY_SWCH_YM, JFUStrConst.EMPTY);
		// 割賦契約締結年月日
		parentMap.put(KAP_KEI_CNC_YMD, JFUStrConst.EMPTY);
		// 割賦契約終了年月日
		parentMap.put(KAP_KEI_ENDYMD, JFUStrConst.EMPTY);
		// 割賦契約キャンセル年月日
		parentMap.put(KAP_KEI_CANCEL_YMD, JFUStrConst.EMPTY);
		// 割賦契約サービス開始年月日
		parentMap.put(KAP_KEI_SVC_STAYMD, JFUStrConst.EMPTY);
		// 割賦契約課金開始年月日
		parentMap.put(KAP_KEI_CHRG_STAYMD, JFUStrConst.EMPTY);
		// 割賦請求開始年月
		parentMap.put(KAP_SEIKY_STA_YM, JFUStrConst.EMPTY);
		// 割賦支払い残回数
		parentMap.put(KAP_PAY_ZEN_CNT, kapPayZanCnt);
		// 割賦請求済回数
		parentMap.put(KAP_SEIKY_ZUMI_CNT, "0");
		// 割賦請求済金額
		parentMap.put(KAP_SEIKY_ZUMI_AMNT, "0");
		
		outputMap.put(FUSV015233SC, parentMap);
	
		return outputMap;
	}
	
	/**
	 * 工事費割賦契約登録実行判定SC上りマッピング
	 *
	 * @param outputMap
	 * @param stdKojihiPayway 標準工事費お支払い方法
	 * @return HashMap
	 */
	@SuppressWarnings("unchecked")
	public HashMap setFUSV015233ReqChk(HashMap outputMap, String stdKojihiPayway) 
	{
		HashMap<String, Object> parentMap = new HashMap<String, Object>();
		
		// 標準工事費のお支払い方法
		parentMap.put(STDARD_KOJIHI_PAYWAY, stdKojihiPayway);
		
		outputMap.put(FUSV015233_REQ_CHK, parentMap);
		
		return outputMap;
	}
// ANK-3296-00-00 ADD END

	/**
	 * オプトインメール受信設定登録CCの上りマッピング処理です。
	 * 
	 * <br>
	 * @param bean [0]：共有フォームビーン　[1]：入力内容確認
	 * @param outputMap 結果マップ
	 * @param func_code 機能コード
	 * @return 結果マップ
	 */
	public HashMap setFUSV015232CC(X31SDataBeanAccess[] bean, HashMap outputMap, String func_code)
	{

		HashMap<String, Object> parentMap = new HashMap<String, Object>();

		// WEB新規情報
		X31SDataBeanAccess webNewInfoBean = getWebInfo(bean[0]);
		// 契約者情報
		X31SDataBeanAccess keiyakushaInfoBean = getKeiyakuinfo(webNewInfoBean);

		// メール受信設定表示フラグ
		String mjsDspFlg = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.MAIL_JUSIN_SETTEI_DSP_FLG_09,
				X31CWebConst.DATABEAN_GET_VALUE);

		// メール受信設定表示フラグ
		parentMap.put(MAIL_JUSIN_SETTEI_DSP_FLG, mjsDspFlg);

		if (!MAIL_JUSIN_SETTEI_DSP_FLG_1.equals(mjsDspFlg))
		{
			// メール受信設定表示フラグが「1：表示」以外の場合
			return outputMap;
		}

		// 契約種別
		String keiSbt = webNewInfoBean.sendMessageString(CommonInfoCFConst.KEI_SBT_06, X31CWebConst.DATABEAN_GET_VALUE);

		String mlad = JFUStrConst.EMPTY;

		// 連絡用コンテンツメールアドレス
		if (JFUStrConst.KEI_SBT_HOJINCD.equals(keiSbt))
		{
			// 法人メールアドレス
			mlad = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}
		else if (JFUStrConst.KEI_SBT_KOJINCD.equals(keiSbt))
		{
			// 個人メールアドレス
			mlad = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MLAD_09, X31CWebConst.DATABEAN_GET_VALUE);
		}

		if (JFUWebCommon.isNull(mlad))
		{
			// 連絡用コンテンツメールアドレスが未設定の場合
			return outputMap;
		}

		// 機能コード
		parentMap.put("func_code", func_code);
		// 連絡用コンテンツメールアドレス
		parentMap.put(IN_MLAD, mlad);

		// SYSID
		String sysid = webNewInfoBean.sendMessageString(CommonInfoCFConst.SYSID_06, X31CWebConst.DATABEAN_GET_VALUE);

		if (!JFUWebCommon.isNull(sysid))
		{
			// SYSIDが設定されている場合
			parentMap.put(IN_SYSID, sysid);
		}
		else
		{
			// SYSIDが設定されていない場合
			parentMap.put(IN_SYSID, JFUStrConst.EMPTY);

			// SYSID取得マップキー
			if (JFUStrConst.KEI_SBT_KOJINCD.equals(keiSbt))
			{
				// 個人の場合
				parentMap.put(GET_SYSID_COMP_NM, MAP_KEY_ECK0021D010);
			}
			else if (JFUStrConst.KEI_SBT_HOJINCD.equals(keiSbt))
			{
				// 法人の場合
				parentMap.put(GET_SYSID_COMP_NM, MAP_KEY_ECK0031D010);
			}
		}

		// オプトインメール番号の件数分、登録リストを作成
		String optinmSel = JFUStrConst.EMPTY;
		String optinmNo = JFUStrConst.EMPTY;

		if (JFUStrConst.KEI_SBT_KOJINCD.equals(keiSbt))
		{
			// 契約種別が個人の場合
			optinmSel = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MAIL_JUSIN_SETTEI_SEL_09,
							X31CWebConst.DATABEAN_GET_VALUE);
			optinmNo = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.KOJIN_MAIL_JUSIN_SETTEI_NO_09,
							X31CWebConst.DATABEAN_GET_VALUE);
		}
		else if (JFUStrConst.KEI_SBT_HOJINCD.equals(keiSbt))
		{
			// 契約種別が法人の場合
			optinmSel = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MAIL_JUSIN_SETTEI_SEL_09,
					X31CWebConst.DATABEAN_GET_VALUE);
			optinmNo = keiyakushaInfoBean.sendMessageString(CommonInfoCFConst.HOJIN_MAIL_JUSIN_SETTEI_NO_09,
					X31CWebConst.DATABEAN_GET_VALUE);
		}

		String[] selList = null;
		String[] noList = null;

		if (!JFUWebCommon.isNull(optinmNo) && optinmNo.contains(JFUStrConst.COMMA))
		{
			// カンマ区切り有り
			selList = optinmSel.split(JFUStrConst.COMMA);
			noList = optinmNo.split(JFUStrConst.COMMA);
		}
		else if (!JFUWebCommon.isNull(optinmNo))
		{
			// カンマ区切り無し
			selList = new String[1];
			noList = new String[1];

			selList[0] = optinmSel;
			noList[0] = optinmNo;
		}

		ArrayList addList = new ArrayList();
		if (selList != null && noList != null)
		{
			for (int i = 0; i < noList.length; i++)
			{
				String sel = selList[i];
				String no = noList[i];

				HashMap map = new HashMap();

				// オプトインメール番号
				map.put(OPTINM_NO, no);
				// 受信区分
				map.put(RCV_DIV, sel);

				addList.add(map);
			}
		}

		// オプトインメールワーク登録リスト
		parentMap.put(OPTINM_ADD_LIST, addList);

		outputMap.put(FUSV015232CC, parentMap);

		return outputMap;
	}
	
	/**
	 * 転用承諾番号の有効期限を返す。
	 * <br>
	 * @param dataBean
	 * @param tenyoSdNo
	 * @return 有効期限
	 */
	private String getSdNoYkKigen(X31SDataBeanAccess[] bean, String tenyoSdNo, String opeDate)
	{
		// 転用承諾番号(2桁目〜5桁目)が有効期限(MMDD)を示す。
		String mm = tenyoSdNo.substring(1, 3);
		String dd = tenyoSdNo.substring(3, 5);
		String yyyy = opeDate.substring(0, 4);
		String umm = opeDate.substring(4, 6);
		if ("01".equals(mm) && "12".equals(umm))
		{
			yyyy = String.valueOf(Integer.parseInt(yyyy)+1);
		}
		
		return yyyy+mm+dd;
	}
}
