/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：SCW00201SFLogic
*   ソースファイル名：SCW00201SFLogic.java
*   作成者          ：富士通
*   日付            ：2011年08月2日
*＜機能概要＞
*   サービスオーダ発行新規登録を処理するロジッククラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/8/2     FJ          新規作成
*   v4.00.00    2012/6/29    FJ)前岡     【ANK-0035-00-00】FTTH認証部へフェムトセルオプション有無を追加
*   v26.00.00   2016/7/15    FJ)原田     【ANK-2765-00-00】認証IDの統一化
*   v49.00.00   2020/03/23   FJ)三原     【ANK-3834-00-00】マルウェアブロッキング
*
**********************************************************************/
package eo.web.webview.SCW00201SF;

import static com.fujitsu.futurity.web.x31.X31SWebLog.DEBUG_LOG;
import static eo.web.webview.common.JSCScreenConst.*;

import java.util.ArrayList;
import java.util.HashMap;
import static eo.common.constant.JPCOnlineMessageConstant.*;
import static eo.common.constant.JPCModelConstant.*;

import com.fujitsu.futurity.web.x31.X31CMessageResult;
import com.fujitsu.futurity.web.x31.X31CModelCommon;
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.JSCStrConstant;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.SCW00201SF.SCW00201SFConst;
import eo.web.webview.common.JCCMessageCache;
import eo.web.webview.common.JCCWebCommon;
import eo.web.webview.mapping.SCSV0013_SCSV0013OPDBMapper;
import eo.web.webview.mapping.SCSV0024_SCSV0024OPDBMapper;

/**
 * サービスオーダ発行新規登録を処理するロジッククラスです。
 * @author 富士通
 */
public class SCW00201SFLogic extends JCCWebBusinessLogic
{
	/** メッセージ */
	private static final String MSG_REGISTER_SVC_ORD = "サービスオーダ発行新規登録";
	/** サービスID */
	private static final String SCSV0013 = "SCSV0013";
	/** サービスID */
	private static final String SCSV0024 = "SCSV0024";
	// ANK-2765-00-00 ADD START
	/** メッセージ */
	private static final String MSG_REGISTER_KEI_CRS = "契約コース";
	
	private static final String MSG_REGISTER_GYOMU_NASI_ATAI = "業務パラメータに設定の無い値";
	// ANK-2765-00-00 ADD END

	/** SCタイトル */
	private static final String SCSV001301SC = "SCSV001301SC";
	
	/** テキスト項目名 */
	private static final String[] TEXT_LIST = {
		SCW00201SFConst.HOJIN_DOKUJI_DOMAIN,
		SCW00201SFConst.WEB_ID,
		SCW00201SFConst.WEB_ID_PWD,
		SCW00201SFConst.URL,
		SCW00201SFConst.HP_CAPA,
		SCW00201SFConst.BUY_GOODS_CD,
		SCW00201SFConst.MLLIST_NM,
		SCW00201SFConst.MLLIST_KRISHA_MLAD,
		SCW00201SFConst.MLLIST_KOSHO,
		SCW00201SFConst.MLLIST_MAX_USER_CNT,
		SCW00201SFConst.IP_AD,
		SCW00201SFConst.NETMASK,
		SCW00201SFConst.BAS_ID,
		SCW00201SFConst.MLTISE_CNT,
		SCW00201SFConst.BAS_HOST_ID,
		SCW00201SFConst.VLAN_ID,
		SCW00201SFConst.SVC_ID,
		SCW00201SFConst.WISH_OWNR_ID,
		SCW00201SFConst.DUPCON_NINSHO_ID,
		SCW00201SFConst.DUPCON_NINSHO_ID_PWD,
		SCW00201SFConst.BBR_MACAD,
		SCW00201SFConst.BBR_NINSHO_KEY,
		SCW00201SFConst.AUTO_CUT_TIME,
		SCW00201SFConst.REFERID,
		SCW00201SFConst.SVC_KEI_NO,
		SCW00201SFConst.SVC_KEI_UCWK_NO,
		SCW00201SFConst.OP_SVC_KEI_NO,
		SCW00201SFConst.KKTK_SCV_KEI_NO,
		SCW00201SFConst.HJIN_EO_YKAE_SVKEI_NO,
		SCW00201SFConst.DELTG_SOD_RENKEI_SEQ,
		SCW00201SFConst.NINSHO_ID,
		SCW00201SFConst.NINSHO_ID_PWD,
		SCW00201SFConst.POP_ID,
		SCW00201SFConst.POP_ID_PWD,
		SCW00201SFConst.MLAD,
		SCW00201SFConst.MAIL_ALIAS,
		SCW00201SFConst.MLBOX_CAPA,
		SCW00201SFConst.TENSO_SAKI_MAIL_AD_1,
		SCW00201SFConst.TENSO_SAKI_MAIL_AD_2,
		SCW00201SFConst.TENSO_SAKI_MAIL_AD_3,
		SCW00201SFConst.SVC_ORDER_NO,
		SCW00201SFConst.SVC_ORDER_UK_DTM,
		SCW00201SFConst.IPV6_CHUSKK_CD,			//ＩＰｖ６中心局コード
		SCW00201SFConst.IPV6_AD_IFID,			//ＩＰｖ６アドレス（インターフェイスＩＤ）
		SCW00201SFConst.IPV6_TAKNKIKI_MODEL_CD,	//ＩＰｖ６宅内機器型式コード
		SCW00201SFConst.IPV6_NINSHO_ID,			//ＩＰｖ６認証ＩＤ
		SCW00201SFConst.IPV6_NINSHO_PWD,		//ＩＰｖ６認証パスワード
		SCW00201SFConst.CHBF_MLAD,				//変更前メールアドレス
		SCW00201SFConst.CHAF_MAIL_ACCOUNT,		//変更後メールアカウント
		// ANK-2765-00-00 ADD START
		// ANK-3834-00-00 MOD START
		//SCW00201SFConst.KEI_CRS					//契約コース
		SCW00201SFConst.KEI_CRS,				//契約コース
		// ANK-3834-00-00 MOD END
		// ANK-2765-00-00 ADD END
		// ANK-3834-00-00 ADD START
		SCW00201SFConst.DNS_OPT_OUT_CHOICE_FLG	//DNSオプトアウト選択フラグ
		// ANK-3834-00-00 ADD END
	};
	
	/** プルダウン項目名 */
	private static final String[][] PULLDOWN_LIST = {
		{SCW00201SFConst.SVC_ORDER_INF           , SCW00201SFConst.SVC_ORDER_CD},			// サービスオーダコード（プルダウンではないが、プルダウンとして扱う）
		{SCW00201SFConst.ORD_SBT_CD_INF          , SCW00201SFConst.ORD_SBT_CD},				//オーダ発行対象
		{SCW00201SFConst.YOKYU_MT_APL_SBT_INF    , SCW00201SFConst.YOKYU_MT_APL_SBT_CD},	//要求元アプリ種別
		{SCW00201SFConst.SVC_ORDER_INF           , SCW00201SFConst.SVC_ORDER_CD},			//サービスオーダコード
		{SCW00201SFConst.SVC_ORDER_DTAIL_INF     , SCW00201SFConst.SVC_ORDER_DTAIL_CD},		//サービスオーダ詳細コード
		{SCW00201SFConst.YOKYU_SBT_INF           , SCW00201SFConst.YOKYU_SBT_CD},			//要求種別コード
		{SCW00201SFConst.TENSO_MAIL_HOJI_FLG_INF , SCW00201SFConst.TENSO_MAIL_HOJI_FLG},	//転送メール保持フラグ
		{SCW00201SFConst.VIRUS_CHK_YH_INF        , SCW00201SFConst.VIRUS_CHK_YH},			//ウイルスチェック要否
		{SCW00201SFConst.MLLIST_KOKAI_YH_INF     , SCW00201SFConst.MLLIST_KOKAI_YH},		//ML公開要否
		{SCW00201SFConst.DUP_PLAN_SBT_INF        , SCW00201SFConst.DUP_PLAN_SBT_CD},		//ダイヤルアップ用プラン種別コード
		{SCW00201SFConst.CONNECT_MODE_CD_INF     , SCW00201SFConst.CONNECT_MODE_CD},		//接続モードコード
		{SCW00201SFConst.AUTO_CUT_MODE_CD_INF    , SCW00201SFConst.AUTO_CUT_MODE_CD},		//自動切断モードコード
		{SCW00201SFConst.PPPOE_BRIDGE_SBT_CD_INF , SCW00201SFConst.PPPOE_BRIDGE_SBT_CD},	//PPPoEブリッジ種別コード
		{SCW00201SFConst.PING_RESPONSE_SBT_CD_INF, SCW00201SFConst.PING_RESPONSE_SBT_CD},	//Ping応答種別コード
		{SCW00201SFConst.IPV6_PRTCL_SBT_CD_INF   , SCW00201SFConst.IPV6_PRTCL_SBT_CD},		//ＩＰｖ６プロトコル種別コード
		{SCW00201SFConst.IPV6_TAIIKI_CTRL_CD_INF , SCW00201SFConst.IPV6_TAIIKI_CTRL_CD},	//ＩＰｖ６帯域制御コード
		{SCW00201SFConst.IPV6_CTRL_TYPE_CD_INF   , SCW00201SFConst.IPV6_CTRL_TYPE_CD},		//ＩＰｖ６タイプ制御コード
		{SCW00201SFConst.MAILALIAS_HKTGI_FLG_INF , SCW00201SFConst.MAILALIAS_HKTGI_FLG},	//メールエイリアス引継フラグ
		{SCW00201SFConst.MLVIRUSCHK_HKTGI_FLG_INF, SCW00201SFConst.MLVIRUSCHK_HKTGI_FLG},	//メールウイルスチェック引継フラグ
		{SCW00201SFConst.ML_VRSETTE_HKTGI_FLG_INF, SCW00201SFConst.ML_VRSETTE_HKTGI_FLG},	//メール各種設定引継フラグ
		{SCW00201SFConst.MLAD_CHGJ_ML_TNS_FLG_INF, SCW00201SFConst.MLAD_CHGJ_ML_TNS_FLG}	//メールアドレス変更時メール転送フラグ
	};
	
	/** ラジオボタン項目名 */
	private static final String[][] RADIO_BTN_LIST = {
		{SCW00201SFConst.FEMTSEL_OPUM_INF, SCW00201SFConst.FEMTSEL_OPUM}		//フェムトセルオプション有無
	};
	
	/** 変更有無ラジオボタン項目名 */
	private static final String[][] HUM_RADIO_LIST = {
		{SCW00201SFConst.NINSHO_ID_CHGUM_INF, ""},				//認証ＩＤ変更有無情報
		{SCW00201SFConst.NINSHO_ID_PWD_CHGUM_INF, ""},			//認証ＩＤパスワード変更有無情報
		{SCW00201SFConst.POP_ID_PWD_CHGUM_INF, ""},				//ＰＯＰＩＤパスワード変更有無情報
		{SCW00201SFConst.MLAD_CHGUM_INF, ""},					//メールアドレス変更有無情報
		{SCW00201SFConst.MLAD_ALIAS_CHGUM_INF, ""},				//メールエイリアス変更有無情報
		{SCW00201SFConst.MLBOX_CAPA_CHGUM_INF, ""},				//メールボックス容量変更有無情報
		{SCW00201SFConst.TENSO_MAIL_HOJI_FLG_CHGUM_INF, ""},	//転送メール保持フラグ変更有無情報
		{SCW00201SFConst.TENSO_SAKI_MAIL_AD_CHGUM_INF, ""},		//転送先メールアドレス変更有無情報
		{SCW00201SFConst.MLKRSHA_ID_CHGUM_INF, ""},				//メール管理者ＩＤ変更有無情報
		{SCW00201SFConst.MLKRSHA_ID_PWD_CHGUM_INF, ""},			//メール管理者ＩＤパスワード変更有無情報
		{SCW00201SFConst.HJDOMAIN_MLBOX_CAPA_CHGUM_INF, ""},	//法人ドメインメールボックス容量変更有無情
		{SCW00201SFConst.TOTAL_ACCOUNT_CNT_CHGUM_INF, ""},		//総アカウント数変更有無情報
		{SCW00201SFConst.MLKRSHA_POP_ID_CHGUM, ""},				//メール管理者ＰＯＰＩＤ変更有無情報
		{SCW00201SFConst.MLKRSHA_POP_ID_PWD_CHGUM_INF, ""},		//メール管理者ＰＯＰＩＤパスワード変更有無
		{SCW00201SFConst.MLKRSHA_MLAD_CHGUM_INF, ""},			//メール管理者メールアドレス変更有無情報
		{SCW00201SFConst.MLKRSHA_MLBOX_CAPA_CHGUM_INF, ""},		//メール管理者メールボックス容量変更有無情
		{SCW00201SFConst.VIRUS_CHK_YH_CHGUM_INF, ""},			//ウイルスチェック要否変更有無情報
		{SCW00201SFConst.CHBF_MLAD_CHGUM_INF, ""},				//変更前メールアドレス変更有無情報
		{SCW00201SFConst.CHAF_MAIL_ACCOUNT_CHGUM_INF, ""},		//変更後メールアカウント変更有無情報
		{SCW00201SFConst.MAILALIAS_HKTGI_FLG_CHGUM_INF, ""},	//メールエイリアス引継フラグ変更有無情報
		{SCW00201SFConst.MLVIRUSCHK_HKTGI_FLG_CHGUM_INF, ""},	//メールウイルスチェック引継フラグ変更有無情報
		{SCW00201SFConst.ML_VRSETTE_HKTGI_FLG_CHGUM_INF, ""},	//メール各種設定引継フラグ変更有無情報
		{SCW00201SFConst.MLAD_CHGJ_ML_TNS_FLG_CHGUM_INF, ""},	//メールアドレス変更時メール転送フラグ有無情報
		{SCW00201SFConst.WEB_ID_PWD_CHGUM_INF, ""},				//ＷｅｂＩＤパスワード変更有無情報
		{SCW00201SFConst.URL_CHGUM_INF, ""},					//ＵＲＬ変更有無情報
		{SCW00201SFConst.HP_CAPA_CHGUM_INF, ""},				//ＨＰ容量変更有無情報
		{SCW00201SFConst.ACCSS_BNSK_CHGUM_INF, ""},				//アクセス分析変更有無
		{SCW00201SFConst.MLLIST_KRISHA_MLAD_CHGUM_INF, ""},		//ＭＬ管理者用メールアドレス変更有無情報
		{SCW00201SFConst.MLLIST_KOSHO_CHGUM_INF, ""},			//ＭＬ呼称変更有無情報
		{SCW00201SFConst.MLLIST_MAX_USER_CNT_CHGUM_INF, ""},	//ＭＬ最大ユーザー数変更有無情報
		{SCW00201SFConst.MLLIST_KOKAI_YH_CHGUM_INF, ""},		//ＭＬ公開要否変更有無情報
		{SCW00201SFConst.IP_AD_CHGUM_INF, ""},					//ＩＰアドレス変更有無情報
		{SCW00201SFConst.NETMASK_CHGUM_INF, ""},				//ネットマスク変更有無情報
		{SCW00201SFConst.BAS_ID_CHGUM_INF, ""},					//ＢＡＳ−ＩＤ変更有無情報
		{SCW00201SFConst.MLTISE_CNT_CHGUM_INF, ""},				//マルチセッション数変更有無情報
		{SCW00201SFConst.BAS_HOST_ID_CHGUM_INF, ""},			//ＢＡＳ−ホストＩＤ変更有無情報
		{SCW00201SFConst.VLAN_ID_CHGUM_INF, ""},				//ＶＬＡＮ−ＩＤ変更有無情報
		{SCW00201SFConst.SVC_ID_CHGUM_INF, ""},					//サービスＩＤ変更有無情報
		// ANK-3834-00-00 ADD START
		{SCW00201SFConst.KEI_CRS_CHGUM_INF, ""},				//契約コース変更有無情報
		{SCW00201SFConst.DNS_OPT_OUT_CHOICE_FLG_CHGUM_INF, ""},	//DNSオプトアウト選択フラグ変更有無情報
		// ANK-3834-00-00 ADD END
		{SCW00201SFConst.WISH_OWNR_ID_PWD_CHGUM_INF, ""},		//ＷＩＳＨオーナーＩＤパスワード変更有無情
		{SCW00201SFConst.GRPCOM_DISK_CAPA_CHGUM_INF, ""},		//グループコミュニティディスク容量変更有無
		{SCW00201SFConst.DUPCON_NINSHO_ID_PWD_CHGUM_INF, ""},	//ダイヤルアップ接続認証ＩＤパスワード変更有無情報
		{SCW00201SFConst.DUP_PLAN_SBT_CHGUM_INF, ""},			//ダイヤルアップ用プラン種別変更有無情報
		{SCW00201SFConst.BBR_NINSHO_KEY_CHGUM_INF, ""},			//ＢＢＲ−認証キー変更有無情報
		{SCW00201SFConst.CONNECT_MODE_CHGUM_INF, ""},			//接続モード変更有無情報
		{SCW00201SFConst.AUTO_CUT_MODE_CHGUM_INF, ""},			//自動切断モード変更有無情報
		{SCW00201SFConst.AUTO_CUT_TIME_CHGUM_INF, ""},			//自動切断時間変更有無情報
		{SCW00201SFConst.PPPOE_BRIDGE_SBT_CD_CHGUM_INF, ""},	//ＰＰＰｏＥブリッジ種別コード変更有無情報
		{SCW00201SFConst.PING_RESPONSE_SBT_CD_CHGUM_INF, ""},	//Ｐｉｎｇ応答種別コード変更有無情報
		{SCW00201SFConst.IPV6_CHGUM_INF, ""},					//ＩＰｖ６変更有無情報
		{SCW00201SFConst.IPV6_PWD_CHGUM_INF, ""}				//ＩＰｖ６認証パスワード変更有無情報
	};
	
	/**
	 * 初期化処理
	 * @return 成否
	 * @throws Exception 例外発生時
	 */
	@SuppressWarnings("unchecked")
	public boolean init() throws Exception
	{
		// サービスフォームBeanを操作するデータBeanアクセスクラスを取得します。
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();

		X31SDataBeanAccess[] paramBean = {serviceFormBean};
		
		// ユースケースID格納用マップを生成。
		HashMap paramMap = new HashMap();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SCSV0024);
		
		// マッピングクラスのインスタンスを生成
		SCSV0024_SCSV0024OPDBMapper mapper = new SCSV0024_SCSV0024OPDBMapper();
		
		HashMap inputMap = new HashMap();
		mapper.setSCSV002401SC(paramBean, inputMap, FUNC_CD_1);		//オーダ発行対象
		mapper.setSCSV002402SC(paramBean, inputMap, FUNC_CD_1);		//要求元アプリ種別
		mapper.setSCSV002403SC(paramBean, inputMap, FUNC_CD_1);		//要求種別コード
		mapper.setSCSV002404SC(paramBean, inputMap, FUNC_CD_1);		//サービスオーダ詳細コード
		mapper.setSCSV002405SC(paramBean, inputMap, FUNC_CD_1);		//転送メール保持フラグ
		mapper.setSCSV002406SC(paramBean, inputMap, FUNC_CD_1);		//ウイルスチェック要否
		mapper.setSCSV002407SC(paramBean, inputMap, FUNC_CD_1);		//ML公開要否
		mapper.setSCSV002408SC(paramBean, inputMap, FUNC_CD_1);		//ダイヤルアップ用プラン種別コード
		mapper.setSCSV002409SC(paramBean, inputMap, FUNC_CD_1);		//接続モードコード
		mapper.setSCSV002410SC(paramBean, inputMap, FUNC_CD_1);		//自動切断モードコード
		mapper.setSCSV002411SC(paramBean, inputMap, FUNC_CD_1);		//PPPoEブリッジ種別コード
		mapper.setSCSV002412SC(paramBean, inputMap, FUNC_CD_1);		//Ping応答種別コード
		mapper.setSCSV002413SC(paramBean, inputMap, FUNC_CD_1);		//サービスオーダコード
		mapper.setSCSV002414SC(paramBean, inputMap, FUNC_CD_1);		//認証ＩＤパスワード変更有無
		mapper.setSCSV002415SC(paramBean, inputMap, FUNC_CD_1);		//提供プロトコル種別コード
		mapper.setSCSV002416SC(paramBean, inputMap, FUNC_CD_1);		//帯域制御コード
		mapper.setSCSV002417SC(paramBean, inputMap, FUNC_CD_1);		//IPv6タイプ制御コード
		mapper.setSCSV002418SC(paramBean, inputMap, FUNC_CD_1);		//有無コード
		mapper.setSCSV002419SC(paramBean, inputMap, FUNC_CD_1);		//メールエイリアス引継フラグ
		mapper.setSCSV002420SC(paramBean, inputMap, FUNC_CD_1);		//メールウイルスチェック引継フラグ
		mapper.setSCSV002421SC(paramBean, inputMap, FUNC_CD_1);		//メール各種設定引継フラグ
		mapper.setSCSV002422SC(paramBean, inputMap, FUNC_CD_1);		//メールアドレス変更時メール転送フラグ
		
		HashMap outputMap = new HashMap();
		//APサーバ連携を実行する。
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		
		if(msgResult != null)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return true;
		}
		
		JCCMessageCache.setMessageCache();
		
		mapper.getSCSV002401SC(paramBean, outputMap);	//オーダ発行対象
		mapper.getSCSV002402SC(paramBean, outputMap);	//要求元アプリ種別
		mapper.getSCSV002403SC(paramBean, outputMap);	//要求種別コード
		mapper.getSCSV002404SC(paramBean, outputMap);	//サービスオーダ詳細コード
		mapper.getSCSV002405SC(paramBean, outputMap);	//転送メール保持フラグ
		mapper.getSCSV002406SC(paramBean, outputMap);	//ウイルスチェック要否
		mapper.getSCSV002407SC(paramBean, outputMap);	//ML公開要否
		mapper.getSCSV002408SC(paramBean, outputMap);	//ダイヤルアップ用プラン種別コード
		mapper.getSCSV002409SC(paramBean, outputMap);	//接続モードコード
		mapper.getSCSV002410SC(paramBean, outputMap);	//自動切断モードコード
		mapper.getSCSV002411SC(paramBean, outputMap);	//PPPoEブリッジ種別コード
		mapper.getSCSV002412SC(paramBean, outputMap);	//Ping応答種別コード
		mapper.getSCSV002413SC(paramBean, outputMap);	//サービスオーダコード
		mapper.getSCSV002414SC(paramBean, outputMap);	//認証ＩＤパスワード変更有無
		mapper.getSCSV002415SC(paramBean, outputMap);	//提供プロトコル種別コード
		mapper.getSCSV002416SC(paramBean, outputMap);	//帯域制御コード
		mapper.getSCSV002417SC(paramBean, outputMap);	//IPv6タイプ制御コード
		mapper.getSCSV002418SC(paramBean, outputMap);	//有無コード
		mapper.getSCSV002419SC(paramBean, outputMap);	//メールエイリアス引継フラグ
		mapper.getSCSV002420SC(paramBean, outputMap);	//メールウイルスチェック引継フラグ
		mapper.getSCSV002421SC(paramBean, outputMap);	//メール各種設定引継フラグ
		mapper.getSCSV002422SC(paramBean, outputMap);	//メールアドレス変更時メール転送フラグ
		
		// ラジオボタン項目の初期化
		initHenkoumuRadio(serviceFormBean);
		
		// オーダー種別の初期値(index=0)を設定する
		initOrderSbt(serviceFormBean, 0);
		
		//フェムトセルオプション有無の初期選択値をセットする
		initSelectCode(serviceFormBean, SCW00201SFConst.FEMTSEL_OPUM_INF, 1);
		
		// サービスオーダの選択値・表示用に値をセットする
		setSvcOdr(serviceFormBean);
		
		setNextScreen(SCREEN_ID_SCW00201, SCREEN_NAME_SCW00201);
		return true;
	}

	/**
	 * 電子管理ファイルをダウンロードします
	 * @return boolean
	 * @throws Exception
	 */
	public boolean downloadHelp() throws Exception
	{
//		// ダウンロード処理
//		downloadHelpSCW00201();
//		
//		setNextScreen(SCREEN_ID_SCW00201, SCREEN_NAME_SCW00201);
		return true;
	}

	/**
	 * オーダ種別の選択内容により、画面表示を変更します。
	 * @return boolean
	 * @throws Exception
	 */
	public boolean changeDisplay() throws Exception
	{
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();
		
		// ---オーダ種別は保持し、それ以外のデータビーンをクリアする---
		
		// オーダ種別の選択値を取得する
		Long idx = null;
		X31SDataBeanAccessArray  cdBean = serviceFormBean.getDataBeanArray(SCW00201SFConst.ORD_SBT_CD_INF);	
		X31SDataBeanAccess  firstBean = cdBean.getDataBean(0);
		Object objCnt = firstBean.sendMessage(SCW00201SFConst.CODE_CD_LST_02, X31CModelCommon.GET_COUNT);
		if (0 < Integer.parseInt(objCnt.toString()))
		{
			//コード値リストから選択中のindexを取得
			idx = firstBean.sendMessageLong(SCW00201SFConst.CODE_IDX_02, X31CWebConst.DATABEAN_GET_VALUE);
		}
		
		//データビーンのクリア
		clearDataBean();
		
		init();
		
		// オーダ種別のIndexをセットする
		firstBean.sendMessageLong(SCW00201SFConst.CODE_IDX_02, X31CWebConst.DATABEAN_SET_VALUE, idx);
		
		// オーダ種別の選択値を設定する
		initOrderSbt(serviceFormBean, idx.intValue());
		
		// サービスオーダの選択情報をセットする
		setSvcOdr(serviceFormBean);
		
		setNextScreen(SCREEN_ID_SCW00201, SCREEN_NAME_SCW00201);
		
		return true;
	}
	
	/**
	 * 画面クリア処理
	 * @return boolean
	 * @throws Exception
	 */
	public boolean clearDisplay() throws Exception
	{
		//this.clearDataBean();	//DataBeanをクリア
		//this.init();			//初期化を呼ぶ
		
		//setNextScreen(SCREEN_ID_SCW00201, SCREEN_NAME_SCW00201);
		//return true;
		
		// 表示切替処理を呼ぶ
		changeDisplay();
		return true;
	}
	
	/**
	 * 登録確認ボタン押下処理
	 * @return 成否
	 * @throws Exception 例外発生時
	 */
	public boolean createConfirm() throws Exception
	{
		int i = 0;
		
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		X31SDataBeanAccess[] paramBean = {bean};
		HashMap paramMap = new HashMap();
		HashMap inputMap = new HashMap();
		HashMap outputMap = new HashMap();
		
		// スケジュールの年・月・日をサービスフォームBeanの項目に設定
		setSceduleYMD(bean);
		
		// 選択された値をプルダウンの選択値表示用へ設定
		for (i = 0; i < PULLDOWN_LIST.length; i++)
		{
			setSelectedCode(bean, PULLDOWN_LIST[i][0], PULLDOWN_LIST[i][1]);
		}
		
		// 選択された値を変更有無ラジオボタンの選択値表示用へ設定
		for (i = 0; i < HUM_RADIO_LIST.length; i++)
		{
			setSelectedHenkouUmu(bean, HUM_RADIO_LIST[i][0]);
		}
		
		// 選択された値をラジオボタンの選択値表示用へ設定
		for (i = 0; i < RADIO_BTN_LIST.length; i++)
		{
			setSelectedCode(bean, RADIO_BTN_LIST[i][0], RADIO_BTN_LIST[i][1]);
		}
		
		//マッピングデータ取得
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SCSV0013);
		SCSV0013_SCSV0013OPDBMapper mapper = new SCSV0013_SCSV0013OPDBMapper();
		mapper.setSCSV001301SC(paramBean, inputMap, FUNC_CD_2);
		
		
		// ANK-2765-00-00 ADD START
		String keiCrs = bean.sendMessageString(SCW00201SFConst.KEI_CRS, X31CWebConst.DATABEAN_GET_VALUE);
		
		X31SDataBeanAccessArray  infBean = null;
		X31SDataBeanAccess  cdBean = null;
		
		// オーダ種別の選択値を取得する
		String ordStCd = null;
		infBean = bean.getDataBeanArray(SCW00201SFConst.ORD_SBT_CD_INF);	
		cdBean = infBean.getDataBean(0);
		
		//コード値リストから選択中のコードを取得
		ordStCd = cdBean.sendMessageString(SCW00201SFConst.CODE_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
		
		// サービスオーダーコードが”06（FTTH認証）”の場合
		if("06".equals(ordStCd) && null != keiCrs && !("".equals(keiCrs)))
		{
			//ＫＥＹ＿業務パラメータID＿旧VR識別判定用サービス詳細コード
			String serchCondition = "SC_SOD_KEI_CRS_0[0-9][0-9]$";
			mapper.setSCSV001302SC(paramBean, inputMap, FUNC_CD_1, serchCondition);
		}
		//ANK-2765-00-000 ADD END
		
		//マッピングデータに新・旧データをセット
		setOldAndNewMapping(bean, inputMap);
		
		//サービスの呼び出し(登録前チェック処理)
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		if (null != msgResult)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return false;
		}
		
		// ANK-2765-00-00 ADD START
		// サービスオーダーコードが”06（FTTH認証）”の場合
		if("06".equals(ordStCd) && null != keiCrs && !("".equals(keiCrs)))
		{
			// サービスの処理結果を取得する
			mapper.getSCSV001302SC(paramBean, outputMap);
			
			// 関連チェック処理
			Boolean ret = kanrenChk(paramBean, outputMap);
			if (!ret)
			{
				JCCWebCommon.setMessageInfo(this, EKB5600__Q, new String [] {MSG_REGISTER_KEI_CRS,MSG_REGISTER_GYOMU_NASI_ATAI});
			}
		}
		// ANK-2765-00-00 ADD END
		
		JCCWebCommon.setMessageInfo(this, EKB0370__I, new String [] { MSG_REGISTER_SVC_ORD});
		setNextScreen(SCREEN_ID_SCW00202, SCREEN_NAME_SCW00202);
		
		return true;
	}
	
	/**
	 * 修正ボタン押下処理
	 * @return 成否
	 * @throws Exception 例外発生時
	 */
	public boolean modify() throws Exception
	{
		setNextScreen(SCREEN_ID_SCW00201, SCREEN_NAME_SCW00201);
		return true;
	}
	
	/**
	 * 確定ボタン押下処理
	 * @return 成否
	 * @throws Exception 例外発生時
	 */
	@SuppressWarnings("unchecked")
	public boolean fix() throws Exception
	{
		X31SDataBeanAccess bean = super.getServiceFormBean();
		
		X31SDataBeanAccess[] paramBean = {bean};
		HashMap paramMap = new HashMap();
		HashMap inputMap = new HashMap();
		HashMap outputMap = new HashMap();

		//マッピングデータ取得
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, SCSV0013);
		SCSV0013_SCSV0013OPDBMapper mapper = new SCSV0013_SCSV0013OPDBMapper();
		mapper.setSCSV001301SC(paramBean, inputMap, FUNC_CD_1);
		
		//マッピングデータに新・旧データをセット
		setOldAndNewMapping(bean, inputMap);
		
		//サービスの呼び出し(登録処理)
		X31CMessageResult msgResult = invokeService(paramMap, inputMap, outputMap);
		if (null != msgResult)
		{
			JCCWebCommon.setMessageInfo(this, msgResult);
			return false;
		}

		mapper.getSCSV001301SC(paramBean, outputMap);

		JCCWebCommon.setMessageInfo(this, EKB0380__I, new String [] { MSG_REGISTER_SVC_ORD});
		
		setNextScreen(SCREEN_ID_SCW00203, SCREEN_NAME_SCW00203);
		return true;
	}

	/**
	 * 完了ボタン押下処理
	 * @return 成否
	 * @throws Exception 例外発生時
	 */
	public boolean complete() throws Exception
	{
		//データビーンのクリア
		//clearDataBean();
		
		//init();
		
		setNextScreen(SCREEN_ID_SCW00201, SCREEN_NAME_SCW00201);
		return true;
	}
	
	/**
	 * 画面遷移先を設定します。
	 * @author 富士通
	 * @param nextScreenId 遷移先画面ＩＤ
	 * @param nextScreenName 遷移先画面名
	 */
	private void setNextScreen(String nextScreenId, String nextScreenName)
	{
		X31SDataBeanAccess  commoninfoBean = super.getCommonInfoBean();
	
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, nextScreenId);
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, nextScreenName);

		DEBUG_LOG.debug(String.format("遷移先 CD：%s NM：%s", nextScreenId, nextScreenName));
	}
	
	/**
	 * プルダウンの選択されたデータを選択コードおよび保存用項目にセット
	 * @param serviceFormBean サービスフォームビーン
	 * @param strInf INFの日本語名
	 * @param strConstCd コードの日本語名
	 * @throws Exception 例外発生時
	 */
	private void setSelectedCode(X31SDataBeanAccess serviceFormBean, String strInf, String strConstCd) throws Exception
	{
		//データタイプBean配列を操作するデータBeanアクセスクラスリストを取得します。
		//要求元アプリ種別コード情報
		X31SDataBeanAccessArray  cdBean = serviceFormBean.getDataBeanArray(strInf);	
		
		//データタイプBean配列の最初の要素（データタイプBean）を操作するデータBeanアクセスクラスを取得します。
		X31SDataBeanAccess  firstBean = cdBean.getDataBean(0);
		
		//コード値リストから要素数を取得
		Object objCnt = firstBean.sendMessage(SCW00201SFConst.CODE_CD_LST_02, X31CModelCommon.GET_COUNT);
		
		// 要素が存在するか確認
		if (0 < Integer.parseInt(objCnt.toString()))
		{
			//コード値リストから選択中のindexを取得
			Long idx = firstBean.sendMessageLong(SCW00201SFConst.CODE_IDX_02, X31CWebConst.DATABEAN_GET_VALUE);
			
			//コード値リストから指定indexの要素を取得
			String codeVal = firstBean.sendMessageString(SCW00201SFConst.CODE_CD_LST_02, X31CWebConst.DATABEAN_GET_VALUE, idx.intValue());
			String dispVal = firstBean.sendMessageString(SCW00201SFConst.CODE_DSP_LST_02, X31CWebConst.DATABEAN_GET_VALUE, idx.intValue());
			
			//選択コードへ値を設定
			firstBean.sendMessageString(SCW00201SFConst.CODE_CD_02, X31CWebConst.DATABEAN_SET_VALUE, codeVal);
			
			//選択コード表示用へ値を設定
			firstBean.sendMessageString(SCW00201SFConst.CODE_DSP_02, X31CWebConst.DATABEAN_SET_VALUE, dispVal);
			
			//保存用項目へ値を設定
			serviceFormBean.sendMessageString(strConstCd, X31CWebConst.DATABEAN_SET_VALUE, codeVal);
		}
	}
	
	/**
	 * 変更有無ラジオボタンの選択されたデータを選択値表示用にセット
	 * @param serviceFormBean サービスフォームビーン
	 * @param strInf INFの日本語名
	 * @param strConstCd コードの日本語名
	 * @throws Exception 例外発生時
	 */
	private void setSelectedHenkouUmu(X31SDataBeanAccess serviceFormBean, String strInf) throws Exception
	{
		//データタイプBean配列を操作するデータBeanアクセスクラスリストを取得します。
		//要求元アプリ種別コード情報
		X31SDataBeanAccessArray  cdBean = serviceFormBean.getDataBeanArray(strInf);	
		
		//データタイプBean配列の最初の要素（データタイプBean）を操作するデータBeanアクセスクラスを取得します。
		X31SDataBeanAccess  firstBean = cdBean.getDataBean(0);
		
		//コード値リストから要素数を取得
		Object objCnt = firstBean.sendMessage(SCW00201SFConst.HENKOU_UMU_CD_LST_01, X31CModelCommon.GET_COUNT);
		
		// 要素が存在するか確認
		if (0 < Integer.parseInt(objCnt.toString()))
		{
			//コード値リストから選択中のindexを取得
			Long idx = firstBean.sendMessageLong(SCW00201SFConst.HENKOU_UMU_IDX_01, X31CWebConst.DATABEAN_GET_VALUE);
			
			//コード値リストから指定indexの要素を取得
			String codeVal = firstBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_CD_LST_01, X31CWebConst.DATABEAN_GET_VALUE, idx.intValue());
			String dispVal = firstBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_DSP_LST_01, X31CWebConst.DATABEAN_GET_VALUE, idx.intValue());
			
			//選択コードへ値を設定
			firstBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_CD_01, X31CWebConst.DATABEAN_SET_VALUE, codeVal);
			
			//選択コード表示用へ値を設定
			firstBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_DSP_01, X31CWebConst.DATABEAN_SET_VALUE, dispVal);
		}
	}
	
	/**
	 * 入力されたスケジュール年・月・日をデータを保存用項目にセット
	 * @param serviceFormBean サービスフォームビーン
	 * @throws Exception 例外発生時
	 */
	private void setSceduleYMD(X31SDataBeanAccess serviceFormBean) throws Exception
	{
		//要求元アプリ種別コード情報
		X31SDataBeanAccessArray  cdBean = serviceFormBean.getDataBeanArray(SCW00201SFConst.SCHEDULE_YMD_INF);	
		
		//データタイプBean配列の最初の要素（データタイプBean）を操作するデータBeanアクセスクラスを取得します。
		X31SDataBeanAccess  firstBean = cdBean.getDataBean(0);

		//コード値リストから選択中のindexを取得
		String scheduleY = firstBean.sendMessageString(SCW00201SFConst.YEAR_03, X31CWebConst.DATABEAN_GET_VALUE);
		if (1 == scheduleY.length())
		{
			scheduleY = "0" + scheduleY;
		}
		String scheduleM = firstBean.sendMessageString(SCW00201SFConst.MON_03, X31CWebConst.DATABEAN_GET_VALUE);
		if (1 == scheduleM.length())
		{
			scheduleM = "0" + scheduleM;
		}
		String scheduleD = firstBean.sendMessageString(SCW00201SFConst.DAY_03, X31CWebConst.DATABEAN_GET_VALUE);
		if (1 == scheduleD.length())
		{
			scheduleD = "0" + scheduleD;
		}
		String scheduleYMD = scheduleY + scheduleM + scheduleD;
		
		//スケジュール年月日へ値を設定
		serviceFormBean.sendMessageString(SCW00201SFConst.SCHEDULE_YMD, X31CWebConst.DATABEAN_SET_VALUE, scheduleYMD);
	}
	
	/**
	 * DataBeanをクリアする。
	 * @author 富士通
	 */
	private void clearDataBean()
	{
		int i = 0;
		X31SDataBeanAccess serviceFormBean = super.getServiceFormBean();
		
		//テキスト項目の初期化
		for (i = 0; i < TEXT_LIST.length; i++)
		{
			serviceFormBean.sendMessage(TEXT_LIST[i], X31CWebConst.DATABEAN_CLEAR);
		}
		
		//スケジュール年月日の初期化
		X31SDataBeanAccessArray schdlBean = serviceFormBean.getDataBeanArray(SCW00201SFConst.SCHEDULE_YMD_INF);
		schdlBean.clearArray();
		schdlBean.addDataBean();

		//プルダウン項目の初期化
		for (i = 0; i < PULLDOWN_LIST.length; i++)
		{
			X31SDataBeanAccessArray pulldownBean = serviceFormBean.getDataBeanArray(PULLDOWN_LIST[i][0]);
			pulldownBean.clearArray();
			pulldownBean.addDataBean();
		}
		
		//変更有無ラジオボタン項目の初期化
		for (i = 0; i < HUM_RADIO_LIST.length; i++)
		{
			X31SDataBeanAccessArray humRadioBean = serviceFormBean.getDataBeanArray(HUM_RADIO_LIST[i][0]);
			humRadioBean.clearArray();
			humRadioBean.addDataBean();
		}
		
		//ラジオボタン項目の初期化
		for (i = 0; i < RADIO_BTN_LIST.length; i++)
		{
			X31SDataBeanAccessArray radioBtnBean = serviceFormBean.getDataBeanArray(RADIO_BTN_LIST[i][0]);
			radioBtnBean.clearArray();
			radioBtnBean.addDataBean();
		}
	}
	
	/**
	 * オーダ種別の初期値をセットします
	 * @author 富士通
	 * @param serviceFormBean サービスフォームBean
	 * @param selectedIndex 設定するインデックス
	 */
	private void initOrderSbt(X31SDataBeanAccess serviceFormBean, int selectedIndex)
	{
		// オーダ種別のデータBeanを取得する
		X31SDataBeanAccessArray  ordSbtBean = serviceFormBean.getDataBeanArray(SCW00201SFConst.ORD_SBT_CD_INF);	
		X31SDataBeanAccess  firstBean = ordSbtBean.getDataBean(0);
		
		String codeVal = firstBean.sendMessageString(SCW00201SFConst.CODE_CD_LST_02, X31CWebConst.DATABEAN_GET_VALUE, selectedIndex);
		firstBean.sendMessageString(SCW00201SFConst.CODE_CD_02 , X31CWebConst.DATABEAN_SET_VALUE, codeVal);
		
		// オーダ種別コード保持へオーダ種別コードのindexをセット
		serviceFormBean.sendMessageString(SCW00201SFConst.ORD_SBT_CD_HOJI, X31CWebConst.DATABEAN_SET_VALUE, Integer.toString(selectedIndex));
	}
	
	/**
	 * コードリストの初期値をセットします
	 * @author 富士通
	 * @param serviceFormBean サービスフォームBean
	 * @param cdInf           コード情報名
	 * @param selectedIndex   設定するインデックス
	 */
	private void initSelectCode(X31SDataBeanAccess serviceFormBean, String cdInf, int selectedIndex)
	{
		// オーダ種別のデータBeanを取得する
		X31SDataBeanAccessArray  ordSbtBean = serviceFormBean.getDataBeanArray(cdInf);
		X31SDataBeanAccess  firstBean = ordSbtBean.getDataBean(0);
		
		firstBean.sendMessageLong(SCW00201SFConst.CODE_IDX_02 , X31CWebConst.DATABEAN_SET_VALUE, (long)selectedIndex);
		String codeVal = firstBean.sendMessageString(SCW00201SFConst.CODE_CD_LST_02, X31CWebConst.DATABEAN_GET_VALUE, selectedIndex);
		firstBean.sendMessageString(SCW00201SFConst.CODE_CD_02 , X31CWebConst.DATABEAN_SET_VALUE, codeVal);
	}
	
	/**
	 * サービスオーダの選択情報をセットします
	 * @author 富士通
	 * @param serviceFormBean サービスフォームBean
	 * @throws Exception 例外発生時
	 */
	private void setSvcOdr(X31SDataBeanAccess serviceFormBean) throws Exception
	{
		// オーダ種別のデータBeanを取得する
		X31SDataBeanAccessArray  ordSbtBean = serviceFormBean.getDataBeanArray(SCW00201SFConst.ORD_SBT_CD_INF);	
		X31SDataBeanAccess  firstBeanOdrSbt = ordSbtBean.getDataBean(0);
		
		// オーダ種別の選択コードを取得する
		String ordSbtCd = firstBeanOdrSbt.sendMessageString(SCW00201SFConst.CODE_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
		
		// サービスオーダのデータBeanを取得する
		X31SDataBeanAccessArray pullDownBean = serviceFormBean.getDataBeanArray(SCW00201SFConst.SVC_ORDER_INF);
		X31SDataBeanAccess firstBeanSvcOdr = pullDownBean.getDataBean(0);
		
		// オーダ種別の選択コードからサービスオーダコードを検索し、セットする
		Integer maxCnt = (Integer)firstBeanSvcOdr.sendMessage(SCW00201SFConst.CODE_CD_LST_02, X31CWebConst.DATABEAN_GET_COUNT);
		String svcOdrCd = "";
		for(int cnt = 0; cnt < maxCnt ; cnt++)
		{
			svcOdrCd = firstBeanSvcOdr.sendMessageString(SCW00201SFConst.CODE_CD_LST_02, X31CWebConst.DATABEAN_GET_VALUE, cnt);
			if(null != svcOdrCd)
			{
				if(ordSbtCd.equals(svcOdrCd))
				{
					// サービスオーダの選択を決定する
					firstBeanSvcOdr.sendMessageLong(SCW00201SFConst.CODE_IDX_02, X31CWebConst.DATABEAN_SET_VALUE, (long)cnt);
					
					// サービスオーダの選択情報をセットする
					setSelectedCode(serviceFormBean, SCW00201SFConst.SVC_ORDER_INF, SCW00201SFConst.SVC_ORDER_CD);
				}
			}
		}
	}

	/**
	 * マッピングデータに新・旧データをセットします。
	 * @author 富士通
	 * @param serviceFormBean サービスフォームBean
	 * @param outputMap マッピングデータ
	 */
	private void setOldAndNewMapping(X31SDataBeanAccess serviceFormBean, HashMap outputMap)
	{
		HashMap parentMap = (HashMap)outputMap.get(SCSV001301SC);
		
		// ---FTTH認証の場合は認証IDの変更有無選択が存在しないので、変更有無の値を以下で設定する---
		
		X31SDataBeanAccessArray  infBean = null;	
		X31SDataBeanAccess  cdBean = null;
		Object objCnt = null;

		// オーダ種別の選択値を取得する
		String ordStCd = null;
		infBean = serviceFormBean.getDataBeanArray(SCW00201SFConst.ORD_SBT_CD_INF);	
		cdBean = infBean.getDataBean(0);
		objCnt = cdBean.sendMessage(SCW00201SFConst.CODE_CD_LST_02, X31CModelCommon.GET_COUNT);
		if (0 < Integer.parseInt(objCnt.toString()))
		{
			//コード値リストから選択中のコードを取得
			ordStCd = cdBean.sendMessageString(SCW00201SFConst.CODE_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
		}
		
		// 要求種別コードの選択値を取得する
		String yokyuSbtCd = null;
		infBean = serviceFormBean.getDataBeanArray(SCW00201SFConst.YOKYU_SBT_INF);	
		cdBean = infBean.getDataBean(0);
		objCnt = cdBean.sendMessage(SCW00201SFConst.CODE_CD_LST_02, X31CModelCommon.GET_COUNT);
		if (0 < Integer.parseInt(objCnt.toString()))
		{
			//コード値リストから選択中のコードを取得
			yokyuSbtCd = cdBean.sendMessageString(SCW00201SFConst.CODE_CD_02, X31CWebConst.DATABEAN_GET_VALUE);
		}
		
		// FTTH認証の場合（認証IDの変更有無選択が存在しない場合）
		if("06".equals(ordStCd))
		{
			infBean = serviceFormBean.getDataBeanArray(SCW00201SFConst.NINSHO_ID_CHGUM_INF);
			cdBean = infBean.getDataBean(0);
			if (JSCStrConstant.YOKYU_SBT_NEW.equals(yokyuSbtCd)) // 新規
			{
				// 変更有無の選択を「登録」にする
				cdBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_IDX_01, X31CWebConst.DATABEAN_SET_VALUE, "1");
				cdBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_CD_01, X31CWebConst.DATABEAN_SET_VALUE, "1");
			}
			else if (JSCStrConstant.YOKYU_SBT_DSL.equals(yokyuSbtCd) || JSCStrConstant.YOKYU_SBT_DEL.equals(yokyuSbtCd)) // 削除
			{
				// 変更有無の選択を「変更」にする（「削除」にすると新データに入らず、必須エラーになるため）
				cdBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_IDX_01, X31CWebConst.DATABEAN_SET_VALUE, "2");
				cdBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_CD_01, X31CWebConst.DATABEAN_SET_VALUE, "2");
			}
			else // 変更
			{
				// 変更有無の選択を「変更」にする
				cdBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_IDX_01, X31CWebConst.DATABEAN_SET_VALUE, "2");
				cdBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_CD_01, X31CWebConst.DATABEAN_SET_VALUE, "2");
			}
		}
		
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.NINSHO_ID_CHGUM_INF, 
				SCW00201SFConst.NINSHO_ID, "old_ninsho_id", "ninsho_id");  // 認証ＩＤ
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.NINSHO_ID_PWD_CHGUM_INF, 
				SCW00201SFConst.NINSHO_ID_PWD, "old_ninsho_id_pwd", "ninsho_id_pwd");  // 認証ＩＤパスワード
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.POP_ID_PWD_CHGUM_INF, 
				SCW00201SFConst.POP_ID_PWD, "old_pop_id_pwd", "pop_id_pwd");  // ＰＯＰＩＤパスワード
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.MLAD_CHGUM_INF, 
				SCW00201SFConst.MLAD, "old_mlad", "mlad");  // メールアドレス
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.MLAD_ALIAS_CHGUM_INF, 
				SCW00201SFConst.MAIL_ALIAS, "old_mail_alias", "mail_alias");  // メールエイリアス
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.MLBOX_CAPA_CHGUM_INF, 
				SCW00201SFConst.MLBOX_CAPA, "old_mlbox_capa", "mlbox_capa");  // メールボックス容量
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.TENSO_MAIL_HOJI_FLG_CHGUM_INF, 
				SCW00201SFConst.TENSO_MAIL_HOJI_FLG, "old_tenso_mail_hoji_flg", "tenso_mail_hoji_flg");  // 転送メール保持フラグ
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.TENSO_SAKI_MAIL_AD_CHGUM_INF, 
				SCW00201SFConst.TENSO_SAKI_MAIL_AD_1, "old_tenso_saki_mail_ad_1", "tenso_saki_mail_ad_1");  // 転送先メールアドレス１
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.TENSO_SAKI_MAIL_AD_CHGUM_INF, 
				SCW00201SFConst.TENSO_SAKI_MAIL_AD_2, "old_tenso_saki_mail_ad_2", "tenso_saki_mail_ad_2");  // 転送先メールアドレス２
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.TENSO_SAKI_MAIL_AD_CHGUM_INF, 
				SCW00201SFConst.TENSO_SAKI_MAIL_AD_3, "old_tenso_saki_mail_ad_3", "tenso_saki_mail_ad_3");  // 転送先メールアドレス３
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.VIRUS_CHK_YH_CHGUM_INF, 
				SCW00201SFConst.VIRUS_CHK_YH, "old_virus_chk_yh", "virus_chk_yh");  // ウイルスチェック
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.CHBF_MLAD_CHGUM_INF, 
				SCW00201SFConst.CHBF_MLAD, "old_chbf_mlad", "chbf_mlad");  // 変更前メールアドレス
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.CHAF_MAIL_ACCOUNT_CHGUM_INF, 
				SCW00201SFConst.CHAF_MAIL_ACCOUNT, "old_chaf_mail_account", "chaf_mail_account");  // 変更後メールアカウント
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.MAILALIAS_HKTGI_FLG_CHGUM_INF, 
				SCW00201SFConst.MAILALIAS_HKTGI_FLG, "old_mailalias_hktgi_flg", "mailalias_hktgi_flg");  // メールエイリアス引継フラグ
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.MLVIRUSCHK_HKTGI_FLG_CHGUM_INF, 
				SCW00201SFConst.MLVIRUSCHK_HKTGI_FLG, "old_mlviruschk_hktgi_flg", "mlviruschk_hktgi_flg");  // メールウイルスチェック引継フラグ
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.ML_VRSETTE_HKTGI_FLG_CHGUM_INF, 
				SCW00201SFConst.ML_VRSETTE_HKTGI_FLG, "old_ml_vrsette_hktgi_flg", "ml_vrsette_hktgi_flg");  // メール各種設定引継フラグ
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.MLAD_CHGJ_ML_TNS_FLG_CHGUM_INF, 
				SCW00201SFConst.MLAD_CHGJ_ML_TNS_FLG, "old_mlad_chgj_ml_tns_flg", "mlad_chgj_ml_tns_flg");  // メールアドレス変更時メール転送フラグ
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.WEB_ID_PWD_CHGUM_INF, 
				SCW00201SFConst.WEB_ID_PWD, "old_web_id_pwd", "web_id_pwd");  // ＷｅｂＩＤパスワード
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.URL_CHGUM_INF, 
				SCW00201SFConst.URL, "old_url", "url");  // ＵＲＬ
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.HP_CAPA_CHGUM_INF, 
				SCW00201SFConst.HP_CAPA, "old_hp_capa", "hp_capa");  // ＨＰ容量
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.ACCSS_BNSK_CHGUM_INF, 
				SCW00201SFConst.BUY_GOODS_CD, "old_buy_goods_cd", "buy_goods_cd");  // 購入商品コード
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.MLLIST_KRISHA_MLAD_CHGUM_INF, 
				SCW00201SFConst.MLLIST_KRISHA_MLAD, "old_mllist_krisha_mlad", "mllist_krisha_mlad");  // ＭＬ管理者用メールアドレス
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.MLLIST_KOSHO_CHGUM_INF, 
				SCW00201SFConst.MLLIST_KOSHO, "old_mllist_kosho", "mllist_kosho");  // ＭＬ呼称
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.MLLIST_MAX_USER_CNT_CHGUM_INF, 
				SCW00201SFConst.MLLIST_MAX_USER_CNT, "old_mllist_max_user_cnt", "mllist_max_user_cnt");  // ＭＬ最大ユーザー数
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.MLLIST_KOKAI_YH_CHGUM_INF, 
				SCW00201SFConst.MLLIST_KOKAI_YH, "old_mllist_kokai_yh", "mllist_kokai_yh");  // ＭＬ公開要否
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.IP_AD_CHGUM_INF, 
				SCW00201SFConst.IP_AD, "old_ip_ad", "ip_ad");  // ＩＰアドレス
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.NETMASK_CHGUM_INF, 
				SCW00201SFConst.NETMASK, "old_netmask", "netmask");  // ネットマスク
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.BAS_ID_CHGUM_INF, 
				SCW00201SFConst.BAS_ID, "old_bas_id", "bas_id");  // ＢＡＳ−ＩＤ
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.MLTISE_CNT_CHGUM_INF, 
				SCW00201SFConst.MLTISE_CNT, "old_mltise_cnt", "mltise_cnt");  // マルチセッション数
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.MLTISE_CNT_CHGUM_INF, 
				SCW00201SFConst.BAS_HOST_ID, "old_bas_host_id", "bas_host_id");  // ＢＡＳ−ホストＩＤ
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.VLAN_ID_CHGUM_INF, 
				SCW00201SFConst.VLAN_ID, "old_vlan_id", "vlan_id");  // ＶＬＡＮ−ＩＤ
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.SVC_ID_CHGUM_INF, 
				SCW00201SFConst.SVC_ID, "old_svc_id", "svc_id");  // サービスＩＤ
		// ANK-3834-00-00 ADD START
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.KEI_CRS_CHGUM_INF, 
				SCW00201SFConst.KEI_CRS, "old_old_vrsb_jdg_svc_dtl_cd", "old_vrsb_jdg_svc_dtl_cd");  // 契約コース
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.DNS_OPT_OUT_CHOICE_FLG_CHGUM_INF, 
				SCW00201SFConst.DNS_OPT_OUT_CHOICE_FLG, "old_dns_opt_out_choice_flg", "dns_opt_out_choice_flg");  // DNSオプトアウト選択フラグ
		// ANK-3834-00-00 ADD END
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.DUPCON_NINSHO_ID_PWD_CHGUM_INF, 
				SCW00201SFConst.DUPCON_NINSHO_ID_PWD, "old_dupcon_ninsho_id_pwd", "dupcon_ninsho_id_pwd");  // ダイヤルアップ接続認証ＩＤパスワード
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.DUP_PLAN_SBT_CHGUM_INF, 
				SCW00201SFConst.DUP_PLAN_SBT_CD, "old_dup_plan_sbt_cd", "dup_plan_sbt_cd");  // ダイヤルアップ用プラン種別コード
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.BBR_NINSHO_KEY_CHGUM_INF, 
				SCW00201SFConst.BBR_NINSHO_KEY, "old_bbr_ninsho_key", "bbr_ninsho_key");  // ＢＢＲ−認証キー
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.CONNECT_MODE_CHGUM_INF, 
				SCW00201SFConst.CONNECT_MODE_CD, "old_connect_mode_cd", "connect_mode_cd");  // 接続モードコード
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.AUTO_CUT_MODE_CHGUM_INF, 
				SCW00201SFConst.AUTO_CUT_MODE_CD, "old_auto_cut_mode_cd", "auto_cut_mode_cd");  // 自動切断モードコード
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.AUTO_CUT_TIME_CHGUM_INF, 
				SCW00201SFConst.AUTO_CUT_TIME, "old_auto_cut_time", "auto_cut_time");  // 自動切断時間
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.PPPOE_BRIDGE_SBT_CD_CHGUM_INF, 
				SCW00201SFConst.PPPOE_BRIDGE_SBT_CD, "old_pppoe_bridge_sbt_cd", "pppoe_bridge_sbt_cd");  // ＰＰＰｏＥブリッジ種別コード
		setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.PING_RESPONSE_SBT_CD_CHGUM_INF, 
				SCW00201SFConst.PING_RESPONSE_SBT_CD, "old_ping_response_sbt_cd", "ping_response_sbt_cd");  // Ping応答種別コード

		/*----------------------------------------*/
		/* オーダ種別：ルーター向け接続情報の場合 */
		/*----------------------------------------*/
		if(JSCStrConstant.SERVICE_ORD_ROUTER.equals(ordStCd))
		{
			//ＩＰｖ６変更有無情報
			String henkoUmu = getHenkoUmuSelectedCode(serviceFormBean, SCW00201SFConst.IPV6_CHGUM_INF);
			String ipv6PrtclSbtCd = serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_PRTCL_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE);

			if (JSCStrConstant.SOD_HENKO_UMU_HENKONASI.equals(henkoUmu))  // 変更なし
			{
				//値の設定なし
			}
			else if (JSCStrConstant.SOD_HENKO_UMU_TOROKU.equals(henkoUmu))  // 登録
			{
				//新に設定
				//ＩＰｖ６プロトコル種別コード
				parentMap.put("ipv6_prtcl_sbt_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_PRTCL_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６帯域制御コード
				parentMap.put("ipv6_taiiki_ctrl_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_TAIIKI_CTRL_CD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６認証ＩＤ
				parentMap.put("ipv6_ninsho_id", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_NINSHO_ID, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６認証パスワード
				parentMap.put("ipv6_ninsho_id_pwd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_NINSHO_PWD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６中心局コード
				parentMap.put("ipv6_chuskk_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_CHUSKK_CD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６Ｌ２ＴＰ認証ＩＤ
				//parentMap.put("ipv6_l2tp_ninsho_id", "");
				//ＩＰｖ６Ｐｉｎｇ応答状態コード
				parentMap.put("ipv6_ping_rsp_stat_cd", getIpv6PingRspStatCd(ipv6PrtclSbtCd));
				//ＩＰｖ６アドレス（インターフェイスＩＤ）
				parentMap.put("ipv6_ad_ifid", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_AD_IFID, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６宅内機器型式コード
				parentMap.put("ipv6_taknkiki_model_cd", 
								serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_TAKNKIKI_MODEL_CD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６タイプ制御コード
				parentMap.put("ipv6_ctrl_type_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_CTRL_TYPE_CD, X31CWebConst.DATABEAN_GET_VALUE));
			}
			else if (JSCStrConstant.SOD_HENKO_UMU_HENKO.equals(henkoUmu))  // 変更
			{
				//新・旧に設定
				//ＩＰｖ６プロトコル種別コード
				parentMap.put("ipv6_prtcl_sbt_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_PRTCL_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE));
				parentMap.put("old_ipv6_prtcl_sbt_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_PRTCL_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６帯域制御コード
				parentMap.put("ipv6_taiiki_ctrl_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_TAIIKI_CTRL_CD, X31CWebConst.DATABEAN_GET_VALUE));
				parentMap.put("old_ipv6_taiiki_ctrl_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_TAIIKI_CTRL_CD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６認証ＩＤ
				parentMap.put("ipv6_ninsho_id", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_NINSHO_ID, X31CWebConst.DATABEAN_GET_VALUE));
				parentMap.put("ipv6_old_ninsho_id", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_NINSHO_ID, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６認証パスワード
				parentMap.put("ipv6_ninsho_id_pwd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_NINSHO_PWD, X31CWebConst.DATABEAN_GET_VALUE));
				parentMap.put("ipv6_old_ninsho_id_pwd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_NINSHO_PWD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６中心局コード
				parentMap.put("ipv6_chuskk_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_CHUSKK_CD, X31CWebConst.DATABEAN_GET_VALUE));
				parentMap.put("old_ipv6_chuskk_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_CHUSKK_CD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６Ｌ２ＴＰ認証ＩＤ
				//parentMap.put("ipv6_l2tp_ninsho_id", "");
				//parentMap.put("old_ipv6_l2tp_ninsho_id", "");
				//ＩＰｖ６Ｐｉｎｇ応答状態コード
				parentMap.put("ipv6_ping_rsp_stat_cd", getIpv6PingRspStatCd(ipv6PrtclSbtCd));
				parentMap.put("old_ipv6_ping_rsp_stat_cd", getIpv6PingRspStatCd(ipv6PrtclSbtCd));
				//ＩＰｖ６アドレス（インターフェイスＩＤ）
				parentMap.put("ipv6_ad_ifid", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_AD_IFID, X31CWebConst.DATABEAN_GET_VALUE));
				parentMap.put("old_ipv6_ad_ifid", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_AD_IFID, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６宅内機器型式コード
				parentMap.put("ipv6_taknkiki_model_cd", 
								serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_TAKNKIKI_MODEL_CD, X31CWebConst.DATABEAN_GET_VALUE));
				parentMap.put("old_ipv6_taknkiki_model_cd", 
								serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_TAKNKIKI_MODEL_CD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６タイプ制御コード
				parentMap.put("ipv6_ctrl_type_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_CTRL_TYPE_CD, X31CWebConst.DATABEAN_GET_VALUE));
				parentMap.put("old_ipv6_ctrl_type_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_CTRL_TYPE_CD, X31CWebConst.DATABEAN_GET_VALUE));
			}
			else if (JSCStrConstant.SOD_HENKO_UMU_SAKUJYO.equals(henkoUmu))  // 削除
			{
				// 旧にセット
				//ＩＰｖ６プロトコル種別コード
				parentMap.put("old_ipv6_prtcl_sbt_cd", 
								serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_PRTCL_SBT_CD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６帯域制御コード
				parentMap.put("old_ipv6_taiiki_ctrl_cd",
								serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_TAIIKI_CTRL_CD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６認証ＩＤ
				parentMap.put("ipv6_old_ninsho_id", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_NINSHO_ID, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６認証パスワード
				parentMap.put("ipv6_old_ninsho_id_pwd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_NINSHO_PWD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６中心局コード
				parentMap.put("old_ipv6_chuskk_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_CHUSKK_CD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６Ｌ２ＴＰ認証ＩＤ
				//parentMap.put("old_ipv6_l2tp_ninsho_id", "");
				//ＩＰｖ６Ｐｉｎｇ応答状態コード
				parentMap.put("old_ipv6_ping_rsp_stat_cd", getIpv6PingRspStatCd(ipv6PrtclSbtCd));
				//ＩＰｖ６アドレス（インターフェイスＩＤ）
				parentMap.put("old_ipv6_ad_ifid", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_AD_IFID, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６宅内機器型式コード
				parentMap.put("old_ipv6_taknkiki_model_cd", 
								serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_TAKNKIKI_MODEL_CD, X31CWebConst.DATABEAN_GET_VALUE));
				//ＩＰｖ６タイプ制御コード
				parentMap.put("old_ipv6_ctrl_type_cd", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_CTRL_TYPE_CD, X31CWebConst.DATABEAN_GET_VALUE));
			}
		}
		
		/*------------------------*/
		/* オーダ種別：IPV6の場合 */
		/*------------------------*/
		if(JSCStrConstant.SERVICE_ORD_IPV6.equals(ordStCd))
		{
			setOldAndNewItem(serviceFormBean, parentMap, SCW00201SFConst.IPV6_PWD_CHGUM_INF, 
					SCW00201SFConst.IPV6_NINSHO_PWD, "ipv6_old_ninsho_id_pwd", "ipv6_ninsho_id_pwd");  // IPV6認証パスワード

			//ＩＰｖ６認証ＩＤ
			parentMap.put("ipv6_ninsho_id", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_NINSHO_ID, X31CWebConst.DATABEAN_GET_VALUE));

			//ＩＰｖ６アドレス（インターフェイスＩＤ）
			parentMap.put("ipv6_ad_ifid", serviceFormBean.sendMessageString(SCW00201SFConst.IPV6_AD_IFID, X31CWebConst.DATABEAN_GET_VALUE));
		}

		outputMap.put(SCSV001301SC, parentMap);
	}
	
	/**
	 * IPv6プロトコル種別コードから判定した、ＩＰｖ６Ｐｉｎｇ応答状態コードを返す
	 * @author 富士通
	 * @param  ipv6PrtclSbtCd IPv6プロトコル種別コード
	 * @return String ＩＰｖ６Ｐｉｎｇ応答状態コード
	 */
	private String getIpv6PingRspStatCd(String ipv6PrtclSbtCd)
	{
		String ipv6PingRspStatCd = "";
		
		// IPv6プロトコル種別コード 1：IPv4/v6デュアルの場合
		if(JSCStrConstant.IPV6_PRTCL_SBT_DUAL.equals(ipv6PrtclSbtCd))
		{
			ipv6PingRspStatCd = JSCStrConstant.IPV6_IPV6_TYPE_CTRL_OFF;
		}
		
		return ipv6PingRspStatCd;
	}
	
	/**
	 * マッピングデータに新・旧データをセットします。
	 * @author 富士通
	 * @param serviceFormBean サービスフォームBean
	 * @param outputMap マッピングデータ
	 * @param umuName 変更有無ラジオボタンの項目名
	 * @param sfTextId サービスフォームBeanのID
	 * @param bpOldId BP定義のID（旧）
	 * @param bpNewId BP定義のID（新）
	 */
	private void setOldAndNewItem(X31SDataBeanAccess serviceFormBean, HashMap outputMap, String umuName, String sfTextId, String bpOldId, String bpNewId)
	{
		String codeVal = getHenkoUmuSelectedCode(serviceFormBean, umuName);
		
		if (JSCStrConstant.SOD_HENKO_UMU_HENKONASI.equals(codeVal))  // 変更なし
		{
			// 値の設定なし
		}
		else if (JSCStrConstant.SOD_HENKO_UMU_TOROKU.equals(codeVal))  // 登録
		{
			// 新にセット
			outputMap.put(bpNewId, serviceFormBean.sendMessageString(sfTextId, X31CWebConst.DATABEAN_GET_VALUE));
		
		}
		else if (JSCStrConstant.SOD_HENKO_UMU_HENKO.equals(codeVal))  // 変更
		{
			// 新・旧にセット
			outputMap.put(bpOldId, serviceFormBean.sendMessageString(sfTextId, X31CWebConst.DATABEAN_GET_VALUE));
			outputMap.put(bpNewId, serviceFormBean.sendMessageString(sfTextId, X31CWebConst.DATABEAN_GET_VALUE));
		
		}
		else if (JSCStrConstant.SOD_HENKO_UMU_SAKUJYO.equals(codeVal))  // 削除
		{
			// 旧にセット
			outputMap.put(bpOldId, serviceFormBean.sendMessageString(sfTextId, X31CWebConst.DATABEAN_GET_VALUE));
		
		}
	}
	
	/**
	 * 変更有無ラジオボタンの選択コードを取得します。
	 * @author 富士通
	 * @param serviceFormBean サービスフォームBean
	 * @param umuName 変更有無ラジオボタンの項目名
	 * @return 選択コード
	 */
	private String getHenkoUmuSelectedCode(X31SDataBeanAccess serviceFormBean, String umuName)
	{
		//コード値リストから、選択ラジオボタンのindexを取得
		X31SDataBeanAccessArray infBean = serviceFormBean.getDataBeanArray(umuName);
		X31SDataBeanAccess cdBean = infBean.getDataBean(0);
		Long idx = cdBean.sendMessageLong(SCW00201SFConst.HENKOU_UMU_IDX_01, X31CWebConst.DATABEAN_GET_VALUE);
		if (null == idx)
		{
			return null;
		}
		else
		{
			//コード値リストから指定indexの要素を取得
			String codeVal = cdBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_CD_LST_01, X31CWebConst.DATABEAN_GET_VALUE, idx.intValue());
			return codeVal;
		}
	}
	
	/**
	 * 変更有無ラジオボタン項目を初期化します。
	 * @author 富士通
	 * @param serviceFormBean サービスフォームBean
	 */
	private void initHenkoumuRadio(X31SDataBeanAccess serviceFormBean)
	{
		X31SDataBeanAccessArray infBean = null;
		X31SDataBeanAccess cdBean = null;
		
		//ラジオボタン項目の初期化
		for(int i = 0; i < HUM_RADIO_LIST.length; i++)
		{
			// 認証ＩＤ変更有無情報は処理不要なので、次のループへ移動する
			if (SCW00201SFConst.NINSHO_ID_CHGUM_INF.equals(HUM_RADIO_LIST[i][0]))
			{
				continue;
			}
			
			infBean = serviceFormBean.getDataBeanArray(HUM_RADIO_LIST[i][0]);
			cdBean = infBean.getDataBean(0);
			cdBean.sendMessage(SCW00201SFConst.HENKOU_UMU_IDX_01, X31CWebConst.DATABEAN_CLEAR);
			cdBean.sendMessage(SCW00201SFConst.HENKOU_UMU_CD_01, X31CWebConst.DATABEAN_CLEAR);
			cdBean.sendMessage(SCW00201SFConst.HENKOU_UMU_NM_01, X31CWebConst.DATABEAN_CLEAR);
			cdBean.sendMessage(SCW00201SFConst.HENKOU_UMU_CD_LST_01, X31CWebConst.DATABEAN_CLEAR);
			cdBean.sendMessage(SCW00201SFConst.HENKOU_UMU_NM_LST_01, X31CWebConst.DATABEAN_CLEAR);
			
			// 認証ＩＤ変更有無情報のデータBeanを取得します。
			X31SDataBeanAccessArray  cdBean2 = serviceFormBean.getDataBeanArray(SCW00201SFConst.NINSHO_ID_CHGUM_INF);
			X31SDataBeanAccess  firstBean = cdBean2.getDataBean(0);
			
			//コード値リストから要素数を取得
			Object objCnt = firstBean.sendMessage(SCW00201SFConst.HENKOU_UMU_CD_LST_01, X31CModelCommon.GET_COUNT);
			int intCnt = Integer.parseInt(objCnt.toString());
			
			// 認証ＩＤ変更有無情報のデータをコピーする
			for (int j = 0; j < intCnt; j++)
			{
				cdBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_CD_LST_01, X31CWebConst.DATABEAN_ADD_VALUE, 
						firstBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_CD_LST_01, X31CWebConst.DATABEAN_GET_VALUE, j));
				cdBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_NM_LST_01, X31CWebConst.DATABEAN_ADD_VALUE, 
						firstBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_NM_LST_01, X31CWebConst.DATABEAN_GET_VALUE, j));
				cdBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_DSP_LST_01, X31CWebConst.DATABEAN_ADD_VALUE, 
						firstBean.sendMessageString(SCW00201SFConst.HENKOU_UMU_DSP_LST_01, X31CWebConst.DATABEAN_GET_VALUE, j));
			}
		}
	}
	
	// ANK-2765-00-00 ADD START
	/**
	 * 関連チェック処理
	 * @author 富士通
	 * @param serviceFormBean サービスフォームBean
	 * @param outputMap サービスIF実行後の結果
	 */
	private boolean kanrenChk(X31SDataBeanAccess[] serviceFormBean, HashMap outputMap){
		
		// 返却値の初期設定
		boolean ret = false;
		
		// 画面で入力された値の取得
		String kei_crs = serviceFormBean[0].sendMessageString("契約コース", X31CWebConst.DATABEAN_GET_VALUE);
		
		// サービスIFからの結果を取得
		ArrayList<HashMap<String, String>> result = (ArrayList<HashMap<String, String>>)outputMap.get("resultScsv001302sc");
		
		if (null != result && result.size() > 0)
		{
			for (int i = 0; i < result.size(); i++)
			{
				HashMap<String, String> childMap = (HashMap<String, String>)result.get(i);
				String workParamSetteValue = (String)childMap.get("work_param_sette_value");
				
				// 業務パラメータの値と入力値の比較
				if (workParamSetteValue.equals(kei_crs))
				{
					ret = true;
					break;
				}
				else
				{
					ret = false;
				}
			}
		}
		
		return ret;
	}
	
	
	

}
