/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：FUW10601SFLogic
*	ソースファイル名：FUW10601SFLogic.java
*	作成者			：富士通
*	日付			：2012年04月05日
*＜機能概要＞
*	登録証照会のビューロジッククラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v3.00		2012/04/05	FJ)文元		【案件番号：ANK-0024-01-00】新規作成
*	v5.00		2013/01/08	FJ)瀧澤 	【案件番号：ANK-1388-00-00】ID通知書へのTVサービス名称表示対応
*	v5.00		2013/02/15	FJ)瀧澤 	【案件番号：ANK-1399-00-00】フロントＳ文言確認修正対応
*	v5.00		2013/03/06	FJ)文元 	【案件番号：ANK-1468-00-00】ＩＤ登録証現行様式対応
*	v5.00       2013/06/25	FJ)文元 	【障害対応：IT1-2013-0001282】水平展開障害対応※通知書コード未設定を対象外
*	v5.01       2013/08/19	FJ)文元		【障害対応：OM-2013-0000322】eoID(変更後)が表示されない不具合対応
*	v7.00       2013/11/19	FJ)川瀬		【案件番号：ANK-1578-00-00】多機能ルーター(機器追加)
*	v11.00      2014/10/07	FJ)川瀬		【案件番号：ANK-2333-00-00】ＩＤ登録証のサンキューレター同梱
*	v12.00      2014/12/16	FJ)臼杵		【案件番号：ANK-2332-02-00】ID通知書レイアウト変更
*   v23.00      2016/04/14  FJ）張本    【ANK-2480-02-00】eo電気仕様変更　No.55
*   v71.00      2024/03/27  GDC)V.Auditor    【ANK-4543-00-00】NTT卸対応
*   v73.00      2024/11/14   FJ) 美濃原  【ANK-4427-00-00】NTT卸対応
*
**********************************************************************/
package eo.web.webview.FUW10601SF;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fujitsu.futurity.common.JSYwebLog;
import com.fujitsu.futurity.web.x00.JCCBusinessException;
import com.fujitsu.futurity.web.x00.JCCWebServiceException;
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.common.util.JZMCommonUtil;
import eo.web.webview.JCCWebBusinessLogic;
import eo.web.webview.CommonInfoCF.CommonInfoCFConst;
import eo.web.webview.common.JFUScreenConst;
import eo.web.webview.common.JFUWebCommon;
import eo.web.webview.mapping.FUSV0214_FUSV0214OPDBMapper;
import eo.web.webview.mapping.FUSV0215_FUSV0215OPDBMapper;
import eo.web.webview.mapping.FUSV0216_FUSV0216OPDBMapper;

/**
 * 登録証照会のビューロジッククラスです。
 * <p>
 * <BR>
 * @author 富士通
 */
@SuppressWarnings("serial")
public class FUW10601SFLogic extends JCCWebBusinessLogic
{
	/** サービスID */
	private static final String USECASE_ID_FUSV0214 = "FUSV0214";
	/** サービスID */
	private static final String USECASE_ID_FUSV0215 = "FUSV0215";
	/** サービスID */
	private static final String USECASE_ID_FUSV0216 = "FUSV0216";

	/** フロント用画面表示定義ファイル取得文字列 */
	private static final String QUERY_PATH = "DISPSETTING/SETTING[@screenId='FUW10601']/DISPTEXT[@groupid='CHUKI']";
	/** 属性名 */
	private static final String QUERY_ATTR_NAME = "id";

	/** フロント用画面表示定義ファイル用キー値 */
	private static final String CHU2_DISP = "cyu2_disp";
	/** フロント用画面表示定義ファイル用キー値 */
	private static final String CHU3_DISP = "cyu3_disp";
	/** フロント用画面表示定義ファイル用キー値 */
	private static final String CHU5_DISP = "cyu5_disp";
	/** フロント用画面表示定義ファイル用キー値 */
	private static final String CHU7_DISP = "cyu7_disp";
	/** フロント用画面表示定義ファイル用キー値 */
	private static final String CHU8_DISP = "cyu8_disp";
	/** フロント用画面表示定義ファイル用キー値 */
	private static final String CHU10_DISP = "cyu10_disp";
	/** フロント用画面表示定義ファイル用キー値 */
	private static final String CHU11_DISP = "cyu11_disp";
	/** フロント用画面表示定義ファイル用キー値 */
	private static final String CHU12_DISP = "cyu12_disp";
	/** フロント用画面表示定義ファイル用キー値 */
	private static final String CHU14_DISP = "cyu14_disp";
	/** フロント用画面表示定義ファイル用キー値 */
	private static final String PWD_CHUKI_PTN1 = "pwd_chuki_ptn1";
	/** フロント用画面表示定義ファイル用キー値 */
	private static final String PWD_CHUKI_PTN2 = "pwd_chuki_ptn2";
	/** フロント用画面表示定義ファイル用キー値 */
	private static final String PWD_CHUKI_PTN3 = "pwd_chuki_ptn3";

	/** パターン区分 初期表示 */
	private static final String DISP_INIT = "0";
	/** パターン区分 eo光登録証(3点セット) */
	private static final String DISP_PTN_KBN_3SET = "1";
	/** パターン区分 eo光登録証(マンションプライベート) */
	private static final String DISP_PTN_KBN_3SET_MNP = "2";
	/** パターン区分 eoモバイル登録証 */
	private static final String DISP_PTN_KBN_MOBILE = "3";
	/** パターン区分 eoADSL(フレッツ登録証) */
	private static final String DISP_PTN_KBN_ADSL_FLETS = "4";
	/** パターン区分 eoADSL(eAccess 登録証) */
	private static final String DISP_PTN_KBN_ADSL_EACCSESS = "5";
	/** パターン区分 eoメールアドレス登録証 */
	private static final String DISP_PTN_KBN_MAIL = "6";
	// ANK-4543-00-00 ADD START
	/** パターン区分 NTT卸対応 */
	private static final String DISP_PTN_KBN_NTT = "7";
	// ANK-4543-00-00 ADD END

	/** 置き換え文字列1*/
	private static final String RE_1 = "%1%";
	/** 置き換え文字列2*/
	private static final String RE_2 = "%2%";

	/** ダウンロードダイアログに表示するファイル名*/
	private static final String DOWNLOAD_FILE_NM = "Torokusho";
	/** 電話固定文言*/
	private static final String TEL_PRX = "電話";
	/** 登録証リストコンボボックス初期選択行インデックス */
	private static final String INIT_IDX = "0";

	/** コンボボックス作成時の一時領域に使用するキー 通知書番号 */
	private static final String KEY_TCHISHO_NO = "tchisho_no";
	/** コンボボックス作成時の一時領域に使用するキー 通知書コード */
	private static final String KEY_TCHISHO_CD = "tchisho_cd";
	/** コンボボックス作成時の一時領域に使用するキー 通知書コード略称 */
	private static final String KEY_TCHISHO_CD_ALI = "tchisho_cd_ali";
	/** コンボボックス作成時の一時領域に使用するキー 表示順序 */
	private static final String KEY_TCHISHO_CD_DSP_JUN = "tchisho_cd_dsp_jun";
	/** コンボボックス作成時の一時領域に使用するキー 整理番号 */
	private static final String KEY_SEIRI_NO = "seiri_no";
	/** コンボボックス作成時の一時領域に使用するキー 表示用通知書コード名 */
	private static final String KEY_DISP_TOROKUSHO_CD_NM = "disp_torokusho_cd_nm";
	/** コンボボックス作成時の一時領域に使用するキー キー情報 */
	private static final String KEY_KEY_LIST = "key_list";


	/**
	 * 初期処理
	 * <br/>
	 * 初期処理を行います。
	 *
	 * @return 処理結果
	 * @throws Exception
	 */
	public boolean init() throws Exception
	{

		// 共有フォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// ●共有フォームBeanより必要情報取得
		Map<String, Object> commonInfoMap = getCommoninfoBeanInfo(commoninfoBean);

		// 各Bean情報を取得
		X31SDataBeanAccess ssoInfoBean = (X31SDataBeanAccess)commonInfoMap.get(CommonInfoCFConst.SSO_INFO);

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 各Beanを配列に格納
		// データBean, SSO
		X31SDataBeanAccess[] beanArray = { bean, ssoInfoBean };

		// ユースケースID格納用マップを生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0214);

		FUSV0214_FUSV0214OPDBMapper mapper = new FUSV0214_FUSV0214OPDBMapper();
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// ●上りマッピング
		// 業務パラメータ管理一意照会マップ
		mapper.setFUSV021401SC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);
		// 業務パラメータ管理一意照会マップ
		mapper.setFUSV021402SC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);
		// 業務パラメータ管理一意照会マップ
		mapper.setFUSV021403SC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);
		// 業務パラメータ管理一意照会マップ
		mapper.setFUSV021404SC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);
		// 業務パラメータ管理一意照会マップ
		mapper.setFUSV021405SC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);
//		// 通知書一覧照会（サービス契約情報付与）
//		mapper.setFUSV021406SC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);
		// コード名称管理一覧照会
		mapper.setFUSV021407SC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);
		// 登録証照会CC
		mapper.setFUSV021401CC(beanArray, dataMap);

		// ●検索結果格納用マップを生成。
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// ●サービスの呼び出し
		try
		{
			invokeService(paramMap, dataMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// ●下りマッピング
		// 業務パラメータ管理一意照会
		mapper.getFUSV021401SC(bean, outputMap);
		// 業務パラメータ管理一意照会
		mapper.getFUSV021402SC(bean, outputMap);
		// 業務パラメータ管理一意照会
		mapper.getFUSV021403SC(bean, outputMap);
		// 業務パラメータ管理一意照会
		mapper.getFUSV021404SC(bean, outputMap);
		// 業務パラメータ管理一意照会
		mapper.getFUSV021405SC(bean, outputMap);
//		// 通知書一覧照会（サービス契約情報付与）
//		mapper.getFUSV021406SC(bean, outputMap);
		// コード名称管理一覧照会
		mapper.getFUSV021407SC(bean, outputMap);
		// 登録証照会CC
		mapper.getFUSV021401CC(bean, outputMap);

		// ●エラー処理（エラーフラグに値がセットされている場合のみ）
		throwRelationServiceError(bean);

		// ●サービスフォームBean編集処理
		setInitDispValue(bean);

		// ●遷移先画面IDを設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getScreenId(this));
		// 遷移先画面名を設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW10601);

		return true;
	}

	/**
	 * 表示するボタン押下処理
	 * <br/>
	 * 表示するボタン押下時の処理を行います。
	 *
	 * @return 必ずtrue
	 * @throws Exception
	 */
	public boolean disp() throws Exception
	{
		// 共有フォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// ●共有フォームBeanより必要情報取得
		Map<String, Object> commonInfoMap = getCommoninfoBeanInfo(commoninfoBean);

		// 各Bean情報を取得
		X31SDataBeanAccess ssoInfoBean = (X31SDataBeanAccess)commonInfoMap.get(CommonInfoCFConst.SSO_INFO);

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 各Beanを配列に格納
		// データBean, SSO
		X31SDataBeanAccess[] beanArray = { bean, ssoInfoBean };

		// ●詳細情報の初期化処理
		clearDetailBean(beanArray);

		// ●ユースケースID格納用マップを生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0215);

		FUSV0215_FUSV0215OPDBMapper mapper = new FUSV0215_FUSV0215OPDBMapper();
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// ●選択された登録証の通知書番号を設定
		bean.sendMessageString(FUW10601SFConst.TOROKUSHO_SEL, X31CWebConst.DATABEAN_SET_VALUE, getSelectTorokuListItem(bean,
				FUW10601SFConst.TOROKUSHO_NO_06));

		// ●選択された登録証のキー情報を設定
		bean.sendMessageString(FUW10601SFConst.TOROKUSHO_SEL, X31CWebConst.DATABEAN_SET_VALUE, getSelectTorokuListItem(bean,
				FUW10601SFConst.KEY_LIST_06));

		// ●上りマッピング
//		// 通知対象物一覧照会マップ
//		mapper.setFUSV021501SC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);
//		// 通知書内訳一覧照会マップ
//		mapper.setFUSV021502SC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);
//		// サービス契約回線内訳一覧照会マップ
//		mapper.setFUSV021503SC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);
//		// サービス契約回線内訳一意照会マップ
//		mapper.setFUSV021504SC(beanArray, dataMap, JPCModelConstant.FUNC_CD_2);
//		// サービス契約内訳＜eo光電話＞一覧照会マップ
//		mapper.setFUSV021505SC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);
		// 登録証照会CC
		mapper.setFUSV021501CC(beanArray, dataMap, JPCModelConstant.FUNC_CD_1);

		// ●検索結果格納用マップを生成。
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// ●サービスの呼び出し
		try
		{
			invokeService(paramMap, dataMap, outputMap);
		}
		catch (JCCWebServiceException se)
		{
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// ●下りマッピング
//		// 業務パラメータ管理一意照会
//		mapper.getFUSV021501SC(beanArray, outputMap);
//		// 業務パラメータ管理一意照会
//		mapper.getFUSV021502SC(beanArray, outputMap);
//		// 業務パラメータ管理一意照会
//		mapper.getFUSV021504SC(beanArray, outputMap);
//		// 業務パラメータ管理一意照会
//		mapper.getFUSV021505SC(beanArray, outputMap);
		// 登録証照会CC
		mapper.getFUSV021501CC(beanArray, outputMap);

		HashMap parentMap = (HashMap)outputMap.get("FUSV021501CC");;
		// ●サービスフォームBean編集処理
		setDispValue(beanArray, parentMap);

		// ●遷移先画面IDを設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getScreenId(this));
		// 遷移先画面名を設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW10601);

		return true;
	}

	/**
	 * ダウンロードボタン押下処理
	 * <br/>
	 * 登録証画面の「ダウンロードボタン押下」時の処理です。
	 *
	 * @return 必ずtrue
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	public boolean download() throws Exception
	{
		// 共有フォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess commoninfoBean = super.getCommonInfoBean();

		// ●共有フォームBeanより必要情報取得
		Map<String, Object> commonInfoMap = getCommoninfoBeanInfo(commoninfoBean);

		// サービスフォームBeanのデータBeanアクセスクラスを取得
		X31SDataBeanAccess bean = super.getServiceFormBean();

		// 各Bean情報を取得
		X31SDataBeanAccess genCustInfoBean = (X31SDataBeanAccess)commonInfoMap.get(CommonInfoCFConst.GEN_CUST_KEI_INFO);

		// 各Beanを配列に格納
		// データBean
		X31SDataBeanAccess[] beanArray = { bean, genCustInfoBean };

		// ユースケースID格納用マップを生成
		HashMap<String, String> paramMap = new HashMap<String, String>();
		paramMap.put(X31CWebConst.TELEGRAM_INFO_USECASE_ID, USECASE_ID_FUSV0216);

		FUSV0216_FUSV0216OPDBMapper mapper = new FUSV0216_FUSV0216OPDBMapper();
		HashMap<String, Object> dataMap = new HashMap<String, Object>();

		// ●上りマッピング
		// 帳票定義体の電子ファイル管理番号
		String chohyoTeigiNo = getChohyoTeigiNo(bean);

		mapper.setFUSV021601CC(beanArray, dataMap, JPCModelConstant.FUNC_CD_2, chohyoTeigiNo);

		// 検索結果格納用マップを生成。
		HashMap<String, Object> outputMap = new HashMap<String, Object>();

		// 添付ファイル格納マップを生成。
		HashMap<String, Object> attachMap = new HashMap<String, Object>();

		// ●サービスの呼び出し
		try
		{
			invokeService(paramMap, dataMap, outputMap, attachMap);
		}
		catch (JCCWebServiceException se)
		{
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
		}

		// ●下りマッピング
		// なし

		// ● 受信ファイル取得
		ArrayList list = (ArrayList)attachMap.get(X31CWebConst.TELEGRAM_INFO_ATTACH_FILE_LIST);
		HashMap map = (HashMap)list.get(0);
		byte[] downloadData = (byte[])map.get(X31CWebConst.TELEGRAM_INFO_ATTACH_FILE);

		// ●ダウンロード処理

		// ダウンロードファイル名を設定
		String fileName = getDownloadFileNm(bean);

		// 閲覧制限をかけないPDFファイルをブラウザ内への表示せずに、
		// ダウンロードダイアログを表示して、Adobe Readerで表示する場合、
		// 「setPdfDownloadDlgMode(true)」を呼び出す
		setPdfDownloadDlgMode(true);
		JFUWebCommon.setTempDownloadFile(this, downloadData, fileName);

		// ●遷移先画面IDを設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_ID, X31CWebConst.DATABEAN_SET_VALUE, JFUWebCommon.getScreenId(this));
		// 遷移先画面名を設定
		commoninfoBean.sendMessageString(CommonInfoCFConst.NEXT_SCREEN_NAME, X31CWebConst.DATABEAN_SET_VALUE, JFUScreenConst.SCREEN_NAME_FUW10601);

		return true;
	}

	/**
	 * エラー処理
	 * <br/>
	 * サービスIFの検索結果のエラー処理を行います。
	 *
	 * @param bean サービスフォームBean
	 */
	private void throwRelationServiceError(X31SDataBeanAccess bean)
	{
		// 検索エラーフラグの取得
		X31SDataBeanAccessArray tchishoList = bean.getDataBeanArray(FUW10601SFConst.TCHISHO_LIST);
		// 検索結果が0件の場合の処理
		if (tchishoList.getCount() == 0)
		{
			// "0102"(契約状態エラー)
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0102);
		}
//		String searchErrFlg = JFUWebCommon.getSearchErrFlg(FUSV021401CC, outputMap);
//
//		// 検索結果が0件の場合の処理
//		if (JPCModelConstant.SEARCH_ERR_FLG_ZERO.equals(searchErrFlg))
//		{
//			// "0102"(契約状態エラー)
//			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0102);
//		}
//		// 検索結果が最大検索件数超えの場合の処理
//		else if (JPCModelConstant.SEARCH_ERR_FLG_OVERMAX.equals(searchErrFlg))
//		{
//			// "0002(システムエラー)
//			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0002);
//		}
//		// 表示ページに該当するデータがない場合の処理
//		else if (JPCModelConstant.SEARCH_ERR_FLG_NODATA.equals(searchErrFlg))
//		{
//			// "0102"(契約状態エラー)
//			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0102);
//		}
	}

	/**
	 * 画面表示用データの加工編集処理(初期処理)
	 * <br/>
	 * サービスIFの検索結果リストを画面表示用に編集します。
	 *
	 * @param bean サービスフォームBean
	 * @throws Exception
	 */
	private void setInitDispValue(X31SDataBeanAccess bean) throws Exception
	{
		// 注記の取得
		setNote(bean);

		// 料金グループが有効かの設定
		boolean isValidPrcGrp = isValidPrcGrpCd(bean);

		// 登録証選択コンボボックスの設定
		int setCnt = setTchishoList(bean);

		// 料金グループが有効でない（ｅｏ電気、ホスティングのみ）
		if (!isValidPrcGrp)
		{
			// "0901"(お手続状態エラー)
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0901);
		}
		// コンボボックスの設定数により処理分岐
		else if (setCnt == 0)
		{
			// 設定数が0件の場合、システムエラー
			// "0102"(契約状態エラー)
			throw new JCCBusinessException(JFUStrConst.ERROR_CODE_0102);
		}
		else if (setCnt == 1)
		{
			// サービス呼出処理（登録証詳細サービス）を行う
			disp();
		}
		else
		{
			// パターン区分に「初期表示」を設定
			bean.sendMessageString(FUW10601SFConst.DISP_PTN_KBN, X31CWebConst.DATABEAN_SET_VALUE, DISP_INIT);
		}

	}

	/**
	 * 注記取得
	 * <br/>
	 * 注記の取得を行います。
	 *
	 * @param bean サービスフォームBean
	 * @throws Exception
	 */
	private void setNote(X31SDataBeanAccess bean) throws Exception
	{
		// 既に注記設定済みの場合、処理を抜ける
		String chu1 = bean.sendMessageString(FUW10601SFConst.NOTE1_DISP, X31CWebConst.DATABEAN_GET_VALUE);

		if (!JFUWebCommon.isNull(chu1))
		{
			return;
		}

		//--注記の取得--
		// 定義ファイル取得
		Map<String, String> chukiMap = JFUWebCommon.getDispItemsAsMap(QUERY_PATH, QUERY_ATTR_NAME);

		// eoID注記2
		String note2Disp = chukiMap.get(CHU2_DISP);
		bean.sendMessageString(FUW10601SFConst.NOTE2_DISP, X31CWebConst.DATABEAN_SET_VALUE, note2Disp);

		// 認証ID注記（画面）
		String note3Disp = chukiMap.get(CHU3_DISP);
		bean.sendMessageString(FUW10601SFConst.NOTE3_DISP, X31CWebConst.DATABEAN_SET_VALUE, note3Disp);

		// マイポータル注記（画面）
		String note5Disp = chukiMap.get(CHU5_DISP);
		bean.sendMessageString(FUW10601SFConst.NOTE5_DISP, X31CWebConst.DATABEAN_SET_VALUE, note5Disp);

		// Webアカウント取得注記（画面）
		String note7Disp = chukiMap.get(CHU7_DISP);
		bean.sendMessageString(FUW10601SFConst.NOTE7_DISP, X31CWebConst.DATABEAN_SET_VALUE, note7Disp);

		// eo光電話注記1（画面）
		String note8Disp = chukiMap.get(CHU8_DISP);
		bean.sendMessageString(FUW10601SFConst.NOTE8_DISP, X31CWebConst.DATABEAN_SET_VALUE, note8Disp);

		// eoモバイル注記（画面）
		String note10Disp = chukiMap.get(CHU10_DISP);
		bean.sendMessageString(FUW10601SFConst.NOTE10_DISP, X31CWebConst.DATABEAN_SET_VALUE, note10Disp);

		// ID/パスワード管理注記1（画面）
		String note11Disp = chukiMap.get(CHU11_DISP);
		note11Disp = note11Disp.replace(RE_1, JFUWebCommon.getApplicationConst(JFUStrConst.PMP_MAIN_SUP_URL));
		bean.sendMessageString(FUW10601SFConst.NOTE11_DISP, X31CWebConst.DATABEAN_SET_VALUE, note11Disp);

		// eo光テレビ注記（画面）
		String note12Disp = chukiMap.get(CHU12_DISP);
		bean.sendMessageString(FUW10601SFConst.NOTE12_DISP, X31CWebConst.DATABEAN_SET_VALUE, note12Disp);

		// eo光ネット注記（画面）
		String note14Disp = chukiMap.get(CHU14_DISP);
		bean.sendMessageString(FUW10601SFConst.NOTE14_DISP, X31CWebConst.DATABEAN_SET_VALUE, note14Disp);
	}

	/**
	 * 登録証選択コンボボックスの設定
	 * <br/>
	 * 登録証選択コンボボックスの設定を行います。
	 *
	 * @param bean サービスフォームBean
	 * @return 登録証選択コンボボックス設定数
	 */
	private int setTchishoList(X31SDataBeanAccess bean)
	{
		// サービスフォームBean.通知書一覧
		X31SDataBeanAccessArray tchishoList = bean.getDataBeanArray(FUW10601SFConst.TCHISHO_LIST);

		// サービスフォームBean.登録証リスト
		X31SDataBeanAccessArray torokushoList = bean.getDataBeanArray(FUW10601SFConst.TOROKUSHO_LIST);

		int setCnt = 0;

		// 登録証選択コンボボックスの取得
		X31SDataBeanAccess subbean = torokushoList.getDataBean(0);

		// 登録証選択コンボボックスの一時リスト
		List<Map<String, String>> tmpList = new ArrayList<Map<String, String>>();

		for (int i = 0; i < tchishoList.getCount(); i++)
		{
			// 通知書一覧.通知書ステータスが、"010"（受付済）,"910"（取消済）の場合は設定しない
			String status = tchishoList.getDataBean(i).sendMessageString(FUW10601SFConst.TCHISHO_STAT_01, X31CWebConst.DATABEAN_GET_VALUE);
			if (JFUStrConst.CD00064_910.equals(status) || JFUStrConst.CD00064_010.equals(status))
			{
				continue;
			}

			// 通知書一覧.通知書コード
			String tchishoCdTop = tchishoList.getDataBean(i).sendMessageString(FUW10601SFConst.TCHISHO_CD_01, X31CWebConst.DATABEAN_GET_VALUE);

			// 通知書一覧.通知書コードが未設定の場合は設定しない
			if (JFUWebCommon.isNull(tchishoCdTop))
			{
				continue;
			}

			// 通知書一覧.通知書コードが、"210"(eoスマートリンクタブレット端末購入通知書),"310"(eo光ネットオプション内容のご案内)の場合は設定しない
			if (JFUStrConst.CD01316_210.equals(tchishoCdTop) || JFUStrConst.CD01316_310.equals(tchishoCdTop))
			{
				continue;
			}

			// 登録証の一時リストに詰める
			Map<String, String> torokushoElemMap = new HashMap<String, String>();
			// サービスフォームBean.通知書一覧.通知書番号
			torokushoElemMap.put(KEY_TCHISHO_NO, tchishoList.getDataBean(i).sendMessageString(FUW10601SFConst.TCHISHO_NO_01,
					X31CWebConst.DATABEAN_GET_VALUE));
			// サービスフォームBean.通知書一覧.通知書コード
			torokushoElemMap.put(KEY_TCHISHO_CD, tchishoList.getDataBean(i).sendMessageString(FUW10601SFConst.TCHISHO_CD_01,
					X31CWebConst.DATABEAN_GET_VALUE));
			// サービスフォームBean.通知書一覧.通知書コード略称
			torokushoElemMap.put(KEY_TCHISHO_CD_ALI, tchishoList.getDataBean(i).sendMessageString(FUW10601SFConst.TCHISHO_CD_ALI_01,
					X31CWebConst.DATABEAN_GET_VALUE));
			// サービスフォームBean.通知書一覧.表示順序
			torokushoElemMap.put(KEY_TCHISHO_CD_DSP_JUN, tchishoList.getDataBean(i).sendMessageString(FUW10601SFConst.TCHISHO_CD_DSP_JUN_01,
					X31CWebConst.DATABEAN_GET_VALUE));
			// サービスフォームBean.通知書一覧.整理番号
			torokushoElemMap.put(KEY_SEIRI_NO, tchishoList.getDataBean(i).sendMessageString(FUW10601SFConst.SEIRI_NO_01,
					X31CWebConst.DATABEAN_GET_VALUE));
			// 表示用の通知書コード名
			torokushoElemMap.put(KEY_DISP_TOROKUSHO_CD_NM, tchishoList.getDataBean(i).sendMessageString(FUW10601SFConst.TCHISHO_CD_ALI_01,
					X31CWebConst.DATABEAN_GET_VALUE));
			// キー情報([サービス契約番号]:[料金グループコード]:[ID通知書発行識別コード])
			torokushoElemMap.put(KEY_KEY_LIST, tchishoList.getDataBean(i).sendMessageString(FUW10601SFConst.KEY_LIST_01,
					X31CWebConst.DATABEAN_GET_VALUE));

			tmpList.add(torokushoElemMap);
		}

		// 登録証の一時リストが0件の場合は、0件の件数を返却し、サービスフォームビーンへの設定は行わない
		// 登録証の一時リストが1件の場合は、そのままコンボボックスに表示するリストとしてサービスフォームビーンへ設定する
		if (tmpList.size() == 1)
		{
			// サービスフォームBeanに設定する
			setTchishoCmbSFBean(subbean, tmpList.get(0));
			// 返却用のリスト件数を増加
			setCnt += 1;
			// コンボボックス1件目の通知書番号を選択している事とする
			subbean.sendMessageString(FUW10601SFConst.TOROKUSHO_SELVALUE_06, X31CWebConst.DATABEAN_SET_VALUE, INIT_IDX);

		}
		else if (tmpList.size() > 1)
		{
			// 取得した登録証一時リストを並び替える
			Collections.sort(tmpList, new Comparator<Map<String, String>>()
			{

				/**
				 * 登録証一時リストの並び替え
				 *
				 * <br>
				 * 登録証の一時リストを通知書コード（昇順）、整理番号順（昇順）で並び替えます。
				 * @param map1 登録証一時リストの明細が格納されているMap
				 * @param map2 登録証一時リストの明細が格納されているMap
				 * @return 比較結果
				 */
				@Override
				public int compare(Map<String, String> map1, Map<String, String> map2)
				{
					// 通知書コードで並び替える(昇順)
					int result = Integer.valueOf(map1.get(KEY_TCHISHO_CD)).compareTo(Integer.valueOf(map2.get(KEY_TCHISHO_CD)));
					if (result != 0)
					{
						// 同一でない場合は、並び替える
						return result;
					}
					// 整理番号で並び替える(昇順)
					result = map1.get(KEY_SEIRI_NO).compareTo(map2.get(KEY_SEIRI_NO));
					return result;
				}

			});

			// コンボボックスに表示するリストを生成する
			List<Map<String, String>> cmbList = new ArrayList<Map<String, String>>();
			// 比較用の整理番号変数
			String cmpSeiriNo = "";
			Map<String, Integer> aliMap = new HashMap<String, Integer>();
			for (int i = 0; i < tmpList.size(); i++)
			{
				Map<String, String> torokushoElemMap = tmpList.get(i);
				if (!cmpSeiriNo.equals(torokushoElemMap.get(KEY_SEIRI_NO)))
				{
					if (aliMap.containsKey(torokushoElemMap.get(KEY_TCHISHO_CD_ALI)))
					{
						// リストが持っている同一の略称の個数を増加させる
						aliMap.put(torokushoElemMap.get(KEY_TCHISHO_CD_ALI), aliMap.get(torokushoElemMap.get(KEY_TCHISHO_CD_ALI)).intValue() + 1);
					}
					else
					{
						// リストが持っている略称を追加する
						aliMap.put(torokushoElemMap.get(KEY_TCHISHO_CD_ALI), 1);
					}
					// 比較用の整理番号変数と比較して、同一でない場合にコンボボックスへ追加する
					cmbList.add(torokushoElemMap);
				}
				// 次回比較用に詰める
				cmpSeiriNo = torokushoElemMap.get(KEY_SEIRI_NO);
			}

			// カウントアップ用のマップ作成
			Map<String, Integer> countMap = new HashMap<String, Integer>();
			// コンボボックスに表示するリストを元に、表示名称を完成させてサービスフォームBeanに詰める
			for (int i = 0; i < cmbList.size(); i++)
			{
				Map<String, String> torokushoElemMap = cmbList.get(i);
				// コンボボックスに設定する略称を取得する
				String aliName = torokushoElemMap.get(KEY_TCHISHO_CD_ALI);
				// コンボボックスに設定する略称の個数を取得する
				Integer num = aliMap.get(aliName);
				if (num.intValue() > 1)
				{
					int nameCnt = 1;
					// 現在の数値を確認する
					if (countMap.containsKey(aliName))
					{
						nameCnt = countMap.get(aliName).intValue() + 1;
						// 次回用にカウントアップ用マップを更新する
						countMap.put(aliName, nameCnt);
					}
					else
					{
						// カウントアップ用マップに略称と初回登録の数値を設定する
						countMap.put(aliName, nameCnt);
					}

					// 複数件数ある場合は、表示する名称に(n)を付与する
					StringBuilder strb = new StringBuilder();
					strb.append(torokushoElemMap.get(KEY_TCHISHO_CD_ALI));
					strb.append(JFUStrConst.KIGOU_KAKKO_STA_HALF);
					strb.append(String.valueOf(nameCnt));
					strb.append(JFUStrConst.KIGOU_KAKKO_END_HALF);
					// 表示用の通知書コード名を更新する
					torokushoElemMap.put(KEY_DISP_TOROKUSHO_CD_NM, strb.toString());
				}

				// サービスフォームBeanに設定する
				setTchishoCmbSFBean(subbean, torokushoElemMap);

				// 返却用のリスト件数を増加
				setCnt += 1;

			}
			// コンボボックス1件目の通知書番号を選択している事とする
			subbean.sendMessageString(FUW10601SFConst.TOROKUSHO_SELVALUE_06, X31CWebConst.DATABEAN_SET_VALUE, INIT_IDX);
		}
		return setCnt;
	}

	/**
	 * 登録証選択コンボボックスの設定
	 * <br/>
	 * 登録証選択コンボボックスをサービスフォームBeanに設定します。
	 *
	 * @param subbean 登録証選択コンボボックス
	 * @param map 登録証の一時リストに格納した1要素の情報
	 */
	private void setTchishoCmbSFBean(X31SDataBeanAccess subbean, Map<String, String> map)
	{
		// サービスフォームBean.登録証リスト.通知書番号　←　通知書番号
		subbean.sendMessageString(FUW10601SFConst.TOROKUSHO_NO_06, X31CWebConst.DATABEAN_ADD_VALUE, map.get(KEY_TCHISHO_NO));
		// サービスフォームBean.登録証リスト.通知書コード　←　通知書コード
		subbean.sendMessageString(FUW10601SFConst.TOROKUSHO_CD_06, X31CWebConst.DATABEAN_ADD_VALUE, map.get(KEY_TCHISHO_CD));
		// サービスフォームBean.登録証リスト.通知書コード名　←　通知書コード略称
		subbean.sendMessageString(FUW10601SFConst.TOROKUSHO_CD_NM_06, X31CWebConst.DATABEAN_ADD_VALUE, map.get(KEY_TCHISHO_CD_ALI));
		// サービスフォームBean.登録証リスト.表示用通知書コード名　←　通知書コード略称+(連番) 連番は重複した通知書コード略称がある場合のみ設定
		subbean.sendMessageString(FUW10601SFConst.DISP_TOROKUSHO_CD_NM_06, X31CWebConst.DATABEAN_ADD_VALUE, map.get(KEY_DISP_TOROKUSHO_CD_NM));
		// サービスフォームBean.登録証リスト.整理番号
		subbean.sendMessageString(FUW10601SFConst.SEIRI_NO_06, X31CWebConst.DATABEAN_ADD_VALUE, map.get(KEY_SEIRI_NO));
		// サービスフォームBean.登録証リスト.キー情報
		subbean.sendMessageString(FUW10601SFConst.KEY_LIST_06, X31CWebConst.DATABEAN_ADD_VALUE, map.get(KEY_KEY_LIST));
	}

	/**
	 * サービスフォームBean詳細情報クリア処理
	 * <br/>
	 * サービスフォームBean詳細情報をクリアします。
	 *
	 * @param beanArray DataBeanの配列
	 * @exception Exception
	 */
	private void clearDetailBean(X31SDataBeanAccess[] beanArray) throws Exception
	{

		// 通知対象物一覧のクリア
		X31SDataBeanAccessArray tchi_tg_bpin_list = beanArray[0].getDataBeanArray(FUW10601SFConst.TCHI_TG_BPIN_LIST);
		if (!JFUWebCommon.isNull(tchi_tg_bpin_list))
		{
			tchi_tg_bpin_list.clearArray();
		}
		// 通知書内訳一覧のクリア
		X31SDataBeanAccessArray tchisho_uw_list = beanArray[0].getDataBeanArray(FUW10601SFConst.TCHISHO_UW_LIST);
		if (!JFUWebCommon.isNull(tchisho_uw_list))
		{
			tchisho_uw_list.clearArray();
		}
		// eo電話情報一覧のクリア
		X31SDataBeanAccessArray eo_tel_list = beanArray[0].getDataBeanArray(FUW10601SFConst.EO_TEL_LIST);
		if (!JFUWebCommon.isNull(eo_tel_list))
		{
			eo_tel_list.clearArray();
		}

		// サービスフォームBean.登録証詳細
		X31SDataBeanAccessArray dtlTchisho = beanArray[0].getDataBeanArray(FUW10601SFConst.DTL_TCHISHO);
		X31SDataBeanAccess subbean = dtlTchisho.getDataBean(0);

		// <サービス名クリア>
		// サービスフォームBean.登録証詳細情報.詳細_サービス名(ADSL)
		subbean.sendMessageString(FUW10601SFConst.DTL_SVC_NM_ADSL_07, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_モバイルサービス名
		subbean.sendMessageString(FUW10601SFConst.DTL_MOBILE_SVC_NM_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_光テレビサービス名
		subbean.sendMessageString(FUW10601SFConst.DTL_HIKARITV_SVC_NM_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_サービス名
		subbean.sendMessageString(FUW10601SFConst.DTL_SVC_NM_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// <登録証詳細情報クリア>
		// サービスフォームBean.登録証詳細情報.詳細_eoID(初期値)
		subbean.sendMessageString(FUW10601SFConst.DTL_EOID_S_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_eoIDパスワード
		subbean.sendMessageString(FUW10601SFConst.DTL_EOID_PW_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		subbean.sendMessageString(FUW10601SFConst.DTL_EOID_PW_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_ファミリーコード
		subbean.sendMessageString(FUW10601SFConst.DTL_FAMILY_CD_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_ファミリーコードパスワード
		subbean.sendMessageString(FUW10601SFConst.DTL_FAMILY_PW_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		subbean.sendMessageString(FUW10601SFConst.DTL_FAMILY_PW_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_認証ID
		subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_認証IDパスワード
		subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_PWD_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_PWD_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// **ADSL**-------------------
		// サービスフォームBean.登録証詳細情報.詳細_認証ID(ADSL)
		subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_ADSL_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_KANA_ADSL_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_認証IDパスワード(ADSL)
		subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_PWD_ADSL_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_PWD_KANA_ADSL_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		// **ADSL**-------------------

		// サービスフォームBean.登録証詳細情報.詳細_メールアドレス
		subbean.sendMessageString(FUW10601SFConst.DTL_MLAD_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_POPパスワード
		subbean.sendMessageString(FUW10601SFConst.DTL_POP_PWD_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		subbean.sendMessageString(FUW10601SFConst.DTL_POP_PWD_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_WEBID
		subbean.sendMessageString(FUW10601SFConst.DTL_WEB_ID_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_WEBIDパスワード
		subbean.sendMessageString(FUW10601SFConst.DTL_WEB_ID_P_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		subbean.sendMessageString(FUW10601SFConst.DTL_WEB_ID_P_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_SSID(IEEE802.1X)
		subbean.sendMessageString(FUW10601SFConst.DTL_IEEE802_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		subbean.sendMessageString(FUW10601SFConst.DTL_IEEE802_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_SSID(WPA2/AES)
		subbean.sendMessageString(FUW10601SFConst.DTL_WPA2_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		subbean.sendMessageString(FUW10601SFConst.DTL_WPA2_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_SSID(WEP)
		subbean.sendMessageString(FUW10601SFConst.DTL_WEP_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		subbean.sendMessageString(FUW10601SFConst.DTL_WEP_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_暗号化キー
		subbean.sendMessageString(FUW10601SFConst.DTL_ANGOKA_KEY_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);
		subbean.sendMessageString(FUW10601SFConst.DTL_ANGOKA_KEY_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_リモート操作用パスワード１
		subbean.sendMessageString(FUW10601SFConst.DTL_R_PASS1_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_リモート操作用パスワード２
		subbean.sendMessageString(FUW10601SFConst.DTL_R_PASS2_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_電話番号1
		subbean.sendMessageString(FUW10601SFConst.DTL_TELNO1_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_番号通知1
		subbean.sendMessageString(FUW10601SFConst.DTL_BANGOTUCHI1_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_詳細_アダプタ差込口1
		subbean.sendMessageString(FUW10601SFConst.DTL_ADAPT1_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_電話番号2
		subbean.sendMessageString(FUW10601SFConst.DTL_TELNO2_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_番号通知2
		subbean.sendMessageString(FUW10601SFConst.DTL_BANGOTUCHI2_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_アダプタ差込口2
		subbean.sendMessageString(FUW10601SFConst.DTL_ADAPT2_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_登録証名
		subbean.sendMessageString(FUW10601SFConst.DTL_TOROKUSHO_NM_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// サービスフォームBean.登録証詳細情報.詳細_利用場所
		subbean.sendMessageString(FUW10601SFConst.DTL_USE_PLC_07, X31CWebConst.DATABEAN_SET_VALUE, JFUStrConst.EMPTY);

		// DataBeanログ出力
		JSYwebLog.println(JSYwebLog.DataBean_Dump, getClass(), dumpDatabean(), null, null, null);

	}

	/**
	 * 登録証リスト選択行の指定項目取得
	 * <br/>
	 * 登録証リスト選択行の指定された項目を返却します。
	 *
	 * @param bean サービスフォームBean
	 * @param getItem 取得したい項目
	 * @return 登録証リスト選択行の指定項目
	 */
	private String getSelectTorokuListItem(X31SDataBeanAccess bean, String getItem)
	{
		// 登録証リストを取得
		X31SDataBeanAccessArray torokushoList = bean.getDataBeanArray(FUW10601SFConst.TOROKUSHO_LIST);
		X31SDataBeanAccess torokusho = torokushoList.getDataBean(0);

		// プルダウンの選択値を取得
		String selectValue = torokusho.sendMessageString(FUW10601SFConst.TOROKUSHO_SELVALUE_06, X31CWebConst.DATABEAN_GET_VALUE);

		// 選択値より配列番号を取得
		int selectIndex = Integer.parseInt(selectValue);

		// 配列番号より選択行の指定項目を取得
		String retItem = torokusho.sendMessageString(getItem, X31CWebConst.DATABEAN_GET_VALUE, selectIndex);

		return retItem;
	}

	/**
	 * 画面表示用データの加工編集処理(表示するボタン押下処理)
	 * <br/>
	 * サービスIFの検索結果リストを画面表示用に編集します。
	 *
	 * @param beanArray サービスフォームBean
	 * @param parentMap FUSV0215サービスの戻り値
	 * @throws Exception
	 */
	private void setDispValue(X31SDataBeanAccess[] beanArray, HashMap parentMap) throws Exception
	{
		// サービス名の設定
		setServiceNm(beanArray[0]);

		// 登録証詳細の設定
		setDetail(beanArray);

		// eo電話情報の設定
		setEoTelInfo(beanArray[0], parentMap);

		// 登録証名の設定
		setTorokushoNm(beanArray[0]);

		// 利用場所の設定
		setUsePlc(beanArray[0]);

		// パターン区分の設定
		setPtnKbn(beanArray[0], parentMap);

		// 注記の設定
		setDtlNote(beanArray[0]);

		// 他の設定
		setOther(beanArray[0]);
	}

	/**
	 * サービス名設定
	 * <br/>
	 * サービス名の設定を行います。
	 *
	 * @param bean サービスフォームBean
	 */
	private void setServiceNm(X31SDataBeanAccess bean)
	{
		// サービスフォームBean.通知書内訳
		X31SDataBeanAccessArray tchiUcwkList = bean.getDataBeanArray(FUW10601SFConst.TCHISHO_UW_LIST);
		X31SDataBeanAccess tchiUcwkBean = tchiUcwkList.getDataBean(0);

		// サービスフォームBean.登録証詳細
		X31SDataBeanAccessArray dtlTchisho = bean.getDataBeanArray(FUW10601SFConst.DTL_TCHISHO);
		X31SDataBeanAccess subbean = dtlTchisho.getDataBean(0);

		// サービス名
		subbean.sendMessageString(FUW10601SFConst.DTL_SVC_NM_07, X31CWebConst.DATABEAN_SET_VALUE, tchiUcwkBean.sendMessageString(
				FUW10601SFConst.TCHISHO_PRT_NM_03, X31CWebConst.DATABEAN_GET_VALUE));
		// サービス名(ADSL)
		subbean.sendMessageString(FUW10601SFConst.DTL_SVC_NM_ADSL_07, X31CWebConst.DATABEAN_SET_VALUE, tchiUcwkBean.sendMessageString(
				FUW10601SFConst.TCHISHO_PRT_NM_ADSL_03, X31CWebConst.DATABEAN_GET_VALUE));
		// 光テレビサービス名
		subbean.sendMessageString(FUW10601SFConst.DTL_HIKARITV_SVC_NM_07, X31CWebConst.DATABEAN_SET_VALUE, tchiUcwkBean.sendMessageString(
				FUW10601SFConst.TCHISHO_PRT_NM_TV_03, X31CWebConst.DATABEAN_GET_VALUE));
		// モバイルサービス名
		subbean.sendMessageString(FUW10601SFConst.DTL_MOBILE_SVC_NM_07, X31CWebConst.DATABEAN_SET_VALUE, tchiUcwkBean.sendMessageString(
				FUW10601SFConst.TCHISHO_PRT_NM_MOBILE_03, X31CWebConst.DATABEAN_GET_VALUE));

//		for (int i = 0; i < tchiUcwkList.getCount(); i++)
//		{
//			// 通知書内訳.通知書内訳種別コード
//			String tchishoUcwkSbtCd =
//					tchiUcwkList.getDataBean(i).sendMessageString(FUW10601SFConst.TCHISHO_UCWK_SBT_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
//
//			// 通知書内訳.通知書印字名
//			String tchishoPrtNm = tchiUcwkList.getDataBean(i).sendMessageString(FUW10601SFConst.TCHISHO_PRT_NM_03, X31CWebConst.DATABEAN_GET_VALUE);
//
//			if (JFUStrConst.CD01399_040.equals(tchishoUcwkSbtCd))
//			{
//				// 通知書内訳.通知書内訳種別コードが"040"(インターネット情報)の場合
//				// 料金グループコード
//				String prcGrpCd = tchiUcwkList.getDataBean(i).sendMessageString(FUW10601SFConst.PRC_GRP_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
//				if (JFUStrConst.CD00133_05.equals(prcGrpCd) || JFUStrConst.CD00133_06.equals(prcGrpCd))
//				{
//					// 通知書内訳.料金グループコードが"05"(ｅｏＡＤＳＬ(ｅＡｃｃｅｓｓ))、"06"(ｅｏＡＤＳＬ(フレッツ))の場合
//					// サービスフォームBean.登録証詳細情報.詳細_サービス名(ADSL)
//					subbean.sendMessageString(FUW10601SFConst.DTL_SVC_NM_ADSL_07, X31CWebConst.DATABEAN_SET_VALUE, tchishoPrtNm);
//				}
//				else
//				{
//					// 通知書内訳.料金グループコードが"05"(ｅｏＡＤＳＬ(ｅＡｃｃｅｓｓ))、"06"(ｅｏＡＤＳＬ(フレッツ))、"10"(ｅｏ光電話)でない場合
//					if (!JFUStrConst.CD00133_10.equals(prcGrpCd))
//					{
//						// サービスフォームBean.登録証詳細情報.詳細_サービス名
//						subbean.sendMessageString(FUW10601SFConst.DTL_SVC_NM_07, X31CWebConst.DATABEAN_SET_VALUE, tchishoPrtNm);
//					}
//				}
//			}
//			else if (JFUStrConst.CD01399_080.equals(tchishoUcwkSbtCd))
//			{
//				// 通知書内訳.通知書内訳種別コードが"080"(ｅｏ光テレビ情報)の場合
//				// サービスフォームBean.登録証詳細情報.詳細_光テレビサービス名
//				subbean.sendMessageString(FUW10601SFConst.DTL_HIKARITV_SVC_NM_07, X31CWebConst.DATABEAN_SET_VALUE, tchishoPrtNm);
//			}
//			else if (JFUStrConst.CD01399_090.equals(tchishoUcwkSbtCd))
//			{
//				// 通知書内訳.通知書内訳種別コードが"090"(ｅｏモバイルＷｉ−Ｆｉ接続情報)の場合
//				// サービスフォームBean.登録証詳細情報.詳細_モバイルサービス名
//				subbean.sendMessageString(FUW10601SFConst.DTL_MOBILE_SVC_NM_07, X31CWebConst.DATABEAN_SET_VALUE, tchishoPrtNm);
//
//			}
//			else if (JFUStrConst.CD01399_100.equals(tchishoUcwkSbtCd))
//			{
//				// 通知書内訳.通知書内訳種別コードが"100"(メールアドレス情報)の場合
//				// サービスフォームBean.登録証詳細情報.詳細_サービス名
//				subbean.sendMessageString(FUW10601SFConst.DTL_SVC_NM_07, X31CWebConst.DATABEAN_SET_VALUE, tchishoPrtNm);
//			}
//		}
	}

	/**
	 * 登録証詳細設定(表示するボタン押下処理)
	 * <br/>
	 * 登録証詳細の設定を行います。
	 *
	 * @param beanArray サービスフォームBean
	 */
	private void setDetail(X31SDataBeanAccess[] beanArray)
	{
		// サービスフォームBean
		X31SDataBeanAccess bean = beanArray[0];

		// サービスフォームBean.通知書内訳一覧
		X31SDataBeanAccessArray tchishoList = bean.getDataBeanArray(FUW10601SFConst.TCHISHO_UW_LIST);

		// サービスフォームBean.登録証詳細
		X31SDataBeanAccessArray dtlTchisho = bean.getDataBeanArray(FUW10601SFConst.DTL_TCHISHO);
		X31SDataBeanAccess subbean = dtlTchisho.getDataBean(0);

		// --登録証詳細の設定--

		// <通知書内訳一覧からの設定>
		// 一覧の件数分繰り返す
		for (int i = 0; i < tchishoList.getCount(); i++)
		{
			// 通知書内訳一覧
			X31SDataBeanAccess tchishoBean = tchishoList.getDataBean(i);

			// サービスフォームBean.登録証詳細情報.詳細_eoID(初期値)
			String eoidS = tchishoBean.sendMessageString(FUW10601SFConst.SHK_EOID_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(eoidS))
			{
				String eoidS1 = eoidS.substring(0,4);
				String eoidS2 = eoidS.substring(4,8);
				String eoidS3 = eoidS.substring(8,12);

				subbean.sendMessageString(FUW10601SFConst.DTL_EOID_S_07, X31CWebConst.DATABEAN_SET_VALUE, eoidS1 + JFUStrConst.HALF_SPACE + eoidS2
						+ JFUStrConst.HALF_SPACE + eoidS3);
			}

			// サービスフォームBean.登録証詳細情報.詳細_eoIDパスワード
			String eoidPw = tchishoBean.sendMessageString(FUW10601SFConst.SHK_EOID_PWD_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(eoidPw))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_EOID_PW_07, X31CWebConst.DATABEAN_SET_VALUE, eoidPw);

				subbean.sendMessageString(FUW10601SFConst.DTL_EOID_PW_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, changeKana(eoidPw));
			}

			// 初期eoIDの値とeoIDの値が相違ある場合のみ設定する
			String eoid = tchishoBean.sendMessageString(FUW10601SFConst.EOID_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!eoidS.equals(eoid))
			{
				// サービスフォームBean.登録証詳細情報.詳細_eoID(変更値) ← eoID
				subbean.sendMessageString(FUW10601SFConst.DTL_EOID_R_07, X31CWebConst.DATABEAN_SET_VALUE, eoid);
			}

			// サービスフォームBean.登録証詳細情報.詳細_ファミリーコード
			String familyCd = tchishoBean.sendMessageString(FUW10601SFConst.FAMILY_JOIN_CD_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(familyCd))
			{
				String familyCd1 = familyCd.substring(0,4);
				String familyCd2 = familyCd.substring(4,8);
				String familyCd3 = familyCd.substring(8,12);

				subbean.sendMessageString(FUW10601SFConst.DTL_FAMILY_CD_07, X31CWebConst.DATABEAN_SET_VALUE, familyCd1 + JFUStrConst.HALF_SPACE
						+ familyCd2 + JFUStrConst.HALF_SPACE + familyCd3);
			}

			// サービスフォームBean.登録証詳細情報.詳細_ファミリーコードパスワード
			String familyPw = tchishoBean.sendMessageString(FUW10601SFConst.FAMILY_JOIN_CD_PWD_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(familyPw))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_FAMILY_PW_07, X31CWebConst.DATABEAN_SET_VALUE, familyPw);

				subbean.sendMessageString(FUW10601SFConst.DTL_FAMILY_PW_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, changeKana(familyPw));
			}

			// サービスフォームBean.登録証詳細情報.詳細_認証ID
			String ninshoId = tchishoBean.sendMessageString(FUW10601SFConst.NINSHO_ID_03, X31CWebConst.DATABEAN_GET_VALUE);
			String kanaNinshoId = ninshoId; // 初期設定
			if (!JFUStrConst.EMPTY.equals(ninshoId))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_07, X31CWebConst.DATABEAN_SET_VALUE, ninshoId);
				subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, changeKana(ninshoId.replaceAll("[@].*", "")));
			}

			// サービスフォームBean.登録証詳細情報.詳細_認証IDパスワード
			String ninshoIdPwd = tchishoBean.sendMessageString(FUW10601SFConst.NINSHO_ID_PWD_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(ninshoIdPwd))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_PWD_07, X31CWebConst.DATABEAN_SET_VALUE, ninshoIdPwd);

				subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_PWD_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, changeKana(ninshoIdPwd));
			}

			// **ADSL**-------------------
			// サービスフォームBean.登録証詳細情報.詳細_認証ID(ADSL)
			if (!JFUStrConst.EMPTY.equals(ninshoId))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_ADSL_07, X31CWebConst.DATABEAN_SET_VALUE, kanaNinshoId);

				subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_KANA_ADSL_07, X31CWebConst.DATABEAN_SET_VALUE, changeKana(kanaNinshoId.replaceAll("[@].*", "")));
			}

			// サービスフォームBean.登録証詳細情報.詳細_認証IDパスワード(ADSL)
			if (!JFUStrConst.EMPTY.equals(ninshoIdPwd))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_PWD_ADSL_07, X31CWebConst.DATABEAN_SET_VALUE, ninshoIdPwd);

				subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_PWD_KANA_ADSL_07, X31CWebConst.DATABEAN_SET_VALUE, changeKana(ninshoIdPwd));
			}
			// **ADSL**-------------------

			// サービスフォームBean.登録証詳細情報.詳細_メールアドレス
			String mlad = tchishoBean.sendMessageString(FUW10601SFConst.MLAD_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(mlad))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_MLAD_07, X31CWebConst.DATABEAN_SET_VALUE, mlad);
			}

			// サービスフォームBean.登録証詳細情報.詳細_POPパスワード
			String popPwd = tchishoBean.sendMessageString(FUW10601SFConst.POP_ID_PWD_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(popPwd))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_POP_PWD_07, X31CWebConst.DATABEAN_SET_VALUE, popPwd);

				subbean.sendMessageString(FUW10601SFConst.DTL_POP_PWD_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, changeKana(popPwd));
			}

			// サービスフォームBean.登録証詳細情報.詳細_WEBID
			String webId = tchishoBean.sendMessageString(FUW10601SFConst.WEB_ID_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(webId))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_WEB_ID_07, X31CWebConst.DATABEAN_SET_VALUE, webId);
			}

			// サービスフォームBean.登録証詳細情報.詳細_WEBIDパスワード
			String webIdPw = tchishoBean.sendMessageString(FUW10601SFConst.WEB_ID_PWD_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(webIdPw))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_WEB_ID_P_07, X31CWebConst.DATABEAN_SET_VALUE, webIdPw);

				subbean.sendMessageString(FUW10601SFConst.DTL_WEB_ID_P_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, changeKana(webIdPw));
			}

			// サービスフォームBean.登録証詳細情報.詳細_SSID(IEEE802.1X)
			String iddd802 = tchishoBean.sendMessageString(FUW10601SFConst.IEEE802_1X_SSID_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(iddd802))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_IEEE802_07, X31CWebConst.DATABEAN_SET_VALUE, iddd802);

				subbean.sendMessageString(FUW10601SFConst.DTL_IEEE802_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, changeKana(iddd802));
			}

			// サービスフォームBean.登録証詳細情報.詳細_SSID(WPA2/AES)
			String wpa2 = tchishoBean.sendMessageString(FUW10601SFConst.WPA2_AES_SSID_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(wpa2))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_WPA2_07, X31CWebConst.DATABEAN_SET_VALUE, wpa2);

				subbean.sendMessageString(FUW10601SFConst.DTL_WPA2_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, changeKana(wpa2));
			}

			// サービスフォームBean.登録証詳細情報.詳細_SSID(WEP)
			String wep = tchishoBean.sendMessageString(FUW10601SFConst.WEP_SSID_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(wep))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_WEP_07, X31CWebConst.DATABEAN_SET_VALUE, wep);

				subbean.sendMessageString(FUW10601SFConst.DTL_WEP_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, changeKana(wep));
			}

			// サービスフォームBean.登録証詳細情報.詳細_暗号化キー
			String angokaKey = tchishoBean.sendMessageString(FUW10601SFConst.WEP_KEY_03, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUStrConst.EMPTY.equals(angokaKey))
			{
				subbean.sendMessageString(FUW10601SFConst.DTL_ANGOKA_KEY_07, X31CWebConst.DATABEAN_SET_VALUE, angokaKey);

				subbean.sendMessageString(FUW10601SFConst.DTL_ANGOKA_KEY_KANA_07, X31CWebConst.DATABEAN_SET_VALUE, changeKana(angokaKey));
			}
		}
	}

	/**
	 * 文字列カナ変換
	 * <br/>
	 * 文字列をカナに変換して返却します。
	 *
	 * @param changeItem 変換対象の文字列
	 * @return カナ変換後の文字列
	 */
	private String changeKana(String changeItem)
	{
		StringBuilder strb = new StringBuilder();

		for (int i = 0; i < changeItem.length(); i++)
		{
			String item = changeItem.substring(i, i + 1);

			strb.append(JZMCommonUtil.changeKana(item, true));

			if (i != changeItem.length() - 1)
			{
				strb.append(JFUStrConst.KIGOU_NAKAGURO_HALF);
			}
		}

		return strb.toString();
	}

	/**
	 * eo電話情報設定
	 * <br/>
	 * eo電話情報の設定設定を行います。
	 *
	 * @param bean サービスフォームBean
	 * @throws Exception
	 */
	private void setEoTelInfo(X31SDataBeanAccess bean, HashMap parentMap) throws Exception
	{
		// サービスフォームBean.eo電話情報一覧
		X31SDataBeanAccessArray eoTelList = bean.getDataBeanArray(FUW10601SFConst.EO_TEL_LIST);

		// サービスフォームBean.有無一覧
		X31SDataBeanAccessArray umuList = bean.getDataBeanArray(FUW10601SFConst.UMU_LIST);

		// サービスフォームBean.登録証詳細
		X31SDataBeanAccessArray dtlTchisho = bean.getDataBeanArray(FUW10601SFConst.DTL_TCHISHO);
		X31SDataBeanAccess subbean = dtlTchisho.getDataBean(0);

		String tenlNoMaskFlg_1 = (String) parentMap.get("tenlNoMaskFlg_1");
		String tenlNoMaskFlg_2 = (String) parentMap.get("tenlNoMaskFlg_2");
		
		for (int i = 0; i < eoTelList.getCount(); i++)
		{

			X31SDataBeanAccess eoTelBean = eoTelList.getDataBean(i);

			// サービスフォームBean.eo電話情報一覧.NTT番号案内有無の文言を取得
			String nttNoGuideUm = eoTelBean.sendMessageString(FUW10601SFConst.NTT_NO_GUIDE_UM_05, X31CWebConst.DATABEAN_GET_VALUE);

			String telOpSetteRmtsPwd = eoTelBean.sendMessageString(FUW10601SFConst.TEL_OP_SETTE_RMTS_PWD_05, X31CWebConst.DATABEAN_GET_VALUE);

			String eoTel = eoTelBean.sendMessageString(FUW10601SFConst.TELNO_05, X31CWebConst.DATABEAN_GET_VALUE);
			if (!JFUWebCommon.isNull(eoTel))
			{
				// 電話番号ハイフン編集
				eoTel = JFUWebCommon.getEditTln(this, eoTel);
			}

			if (i == 0)
			{
				// サービスフォームBean.登録証詳細情報.詳細_電話番号1 ← サービスフォームBean.eo電話情報一覧.電話番号
				if (!JFUCommonUtil.isNull(tenlNoMaskFlg_1)) {
					if ("1".equals(tenlNoMaskFlg_1)) {
						eoTel = eoTel.replaceAll("[0-9]", "*");
					}
				}
				subbean.sendMessageString(FUW10601SFConst.DTL_TELNO1_07, X31CWebConst.DATABEAN_SET_VALUE, eoTel);

				// サービスフォームBean.登録証詳細情報.詳細_番号通知1 ← サービスフォームBean.eo電話情報一覧.NTT番号案内有無
				subbean.sendMessageString(FUW10601SFConst.DTL_BANGOTUCHI1_07, X31CWebConst.DATABEAN_SET_VALUE, getCodeName(umuList, nttNoGuideUm));

				// サービスフォームBean.登録証詳細情報.詳細_リモート操作用パスワード１
				subbean.sendMessageString(FUW10601SFConst.DTL_R_PASS1_07, X31CWebConst.DATABEAN_SET_VALUE, telOpSetteRmtsPwd);

				// サービスフォームBean.登録証詳細情報.詳細_詳細_アダプタ差込口1 ← サービスフォームBean.eo電話情報一覧.VAポート番号]
				String vaPortNo = eoTelBean.sendMessageString(FUW10601SFConst.VA_PORT_NO_05, X31CWebConst.DATABEAN_GET_VALUE);
				if (!JFUWebCommon.isNull(vaPortNo))
				{
					String nttUmu1 = TEL_PRX + eoTelBean.sendMessageString(FUW10601SFConst.VA_PORT_NO_05, X31CWebConst.DATABEAN_GET_VALUE);
					subbean.sendMessageString(FUW10601SFConst.DTL_ADAPT1_07, X31CWebConst.DATABEAN_SET_VALUE, nttUmu1);

				}
			}
			else if (i == 1)
			{
				if (!JFUCommonUtil.isNull(tenlNoMaskFlg_2)) {
					if ("1".equals(tenlNoMaskFlg_2)) {
						eoTel = eoTel.replaceAll("[0-9]", "*");
					}
				}
				// サービスフォームBean.登録証詳細情報.詳細_電話番号2 ← サービスフォームBean.eo電話情報一覧.電話番号
				subbean.sendMessageString(FUW10601SFConst.DTL_TELNO2_07, X31CWebConst.DATABEAN_SET_VALUE, eoTel);

				// サービスフォームBean.登録証詳細情報.詳細_番号通知2 ← サービスフォームBean.eo電話情報一覧.NTT番号案内有無
				subbean.sendMessageString(FUW10601SFConst.DTL_BANGOTUCHI2_07, X31CWebConst.DATABEAN_SET_VALUE, getCodeName(umuList, nttNoGuideUm));

				// サービスフォームBean.登録証詳細情報.詳細_リモート操作用パスワード２
				subbean.sendMessageString(FUW10601SFConst.DTL_R_PASS2_07, X31CWebConst.DATABEAN_SET_VALUE, telOpSetteRmtsPwd);

				// サービスフォームBean.登録証詳細情報.詳細_詳細_アダプタ差込口2 ← サービスフォームBean.eo電話情報一覧.VAポート番号
				String vaPortNo2 = eoTelBean.sendMessageString(FUW10601SFConst.VA_PORT_NO_05, X31CWebConst.DATABEAN_GET_VALUE);
				if (!JFUWebCommon.isNull(vaPortNo2))
				{
					String nttUmu1 = TEL_PRX + eoTelBean.sendMessageString(FUW10601SFConst.VA_PORT_NO_05, X31CWebConst.DATABEAN_GET_VALUE);
					subbean.sendMessageString(FUW10601SFConst.DTL_ADAPT2_07, X31CWebConst.DATABEAN_SET_VALUE, nttUmu1);

				}
			}
		}
	}

	/**
	 * 登録証名設定
	 * <br/>
	 * 登録証名の設定を行います。
	 *
	 * @param bean サービスフォームBean
	 */
	private void setTorokushoNm(X31SDataBeanAccess bean)
	{
		// サービスフォームBean.登録証詳細
		X31SDataBeanAccessArray dtlTchisho = bean.getDataBeanArray(FUW10601SFConst.DTL_TCHISHO);
		X31SDataBeanAccess subbean = dtlTchisho.getDataBean(0);

		// 選択された登録証の通知書コード名を設定
		subbean.sendMessageString(FUW10601SFConst.DTL_TOROKUSHO_NM_07, X31CWebConst.DATABEAN_SET_VALUE, getSelectTorokuListItem(bean,
				FUW10601SFConst.TOROKUSHO_CD_NM_06));
	}

	/**
	 * 利用場所設定
	 * <br/>
	 * 利用場所の設定を行います。
	 *
	 * @param bean サービスフォームBean
	 */
	private void setUsePlc(X31SDataBeanAccess bean)
	{

		// サービスフォームBean.利用場所詳細
		X31SDataBeanAccessArray dtlUsePlc = bean.getDataBeanArray(FUW10601SFConst.DTL_USE_PLC);
		X31SDataBeanAccess plcSubbean = dtlUsePlc.getDataBean(0);

		// 都道府県名
		// 市区町村名
		// 大字通称名
		// 字丁目名
		// 番地号
		// 住所補記・建物名
		// 住所補記・部屋番号
		String plc =
				JZMCommonUtil.getPtn01(plcSubbean.sendMessageString(FUW10601SFConst.RIYOBASYO_STATE_NM_04, X31CWebConst.DATABEAN_GET_VALUE),
						plcSubbean.sendMessageString(FUW10601SFConst.RIYOBASYO_CITY_NM_04, X31CWebConst.DATABEAN_GET_VALUE), plcSubbean
								.sendMessageString(FUW10601SFConst.RIYOBASYO_OAZTSU_NM_04, X31CWebConst.DATABEAN_GET_VALUE), plcSubbean
								.sendMessageString(FUW10601SFConst.RIYOBASYO_AZCHO_NM_04, X31CWebConst.DATABEAN_GET_VALUE), plcSubbean
								.sendMessageString(FUW10601SFConst.RIYOBASYO_BNCHIGO_04, X31CWebConst.DATABEAN_GET_VALUE), plcSubbean
								.sendMessageString(FUW10601SFConst.RIYOBASYO_ADRTTM_04, X31CWebConst.DATABEAN_GET_VALUE), plcSubbean
								.sendMessageString(FUW10601SFConst.RIYOBASYO_ADRRM_04, X31CWebConst.DATABEAN_GET_VALUE));

		StringBuilder strb = new StringBuilder();
		if (!JFUWebCommon.isNull(plc))
		{
			strb.append(plc);
		}

		// サービスフォームBean.登録証詳細
		X31SDataBeanAccessArray dtlTchisho = bean.getDataBeanArray(FUW10601SFConst.DTL_TCHISHO);
		X31SDataBeanAccess subbean = dtlTchisho.getDataBean(0);

		// サービスフォームBean.登録証詳細情報.詳細_利用場所
		subbean.sendMessageString(FUW10601SFConst.DTL_USE_PLC_07, X31CWebConst.DATABEAN_SET_VALUE, strb.toString());
	}

	/**
	 * パターン区分設定
	 * <br/>
	 * パターン区分の設定を行います。
	 *
	 * @param parentMap FUSV0215サービスの戻り値
	 * @param bean サービスフォームBean
	 */
	private void setPtnKbn(X31SDataBeanAccess bean, HashMap parentMap)
	{
		// 初期設定
		bean.sendMessageString(FUW10601SFConst.DISP_PTN_KBN, X31CWebConst.DATABEAN_SET_VALUE, "0");

		String tchishoCd = getSelectTorokuListItem(bean, FUW10601SFConst.TOROKUSHO_CD_06);
		
		//ANK-4543-00-00 ADD START ＮＴＴ卸ステップ０
		boolean isNTT = isNTTCheck(bean);
		//ANK-4543-00-00 ADD END
		// 設備卸区分  ※現時点ではＮＴＴ卸区分のみ対応。
		String nttOrsDiv = JFUWebCommon.nvl((String)parentMap.get("nttors_div"), JFUStrConst.EMPTY);
		bean.sendMessageString(FUW10601SFConst.ORS_DIV, X31CWebConst.DATABEAN_SET_VALUE, nttOrsDiv);

		if (JFUStrConst.CD01316_010.equals(tchishoCd) || JFUStrConst.CD01316_020.equals(tchishoCd))
		{
			bean.sendMessageString(FUW10601SFConst.DISP_PTN_KBN, X31CWebConst.DATABEAN_SET_VALUE, DISP_PTN_KBN_3SET);
		}
		else if (JFUStrConst.CD01316_030.equals(tchishoCd))
		{
			bean.sendMessageString(FUW10601SFConst.DISP_PTN_KBN, X31CWebConst.DATABEAN_SET_VALUE, DISP_PTN_KBN_3SET_MNP);
		}
		else if (JFUStrConst.CD01316_040.equals(tchishoCd))
		{
			bean.sendMessageString(FUW10601SFConst.DISP_PTN_KBN, X31CWebConst.DATABEAN_SET_VALUE, DISP_PTN_KBN_MOBILE);
		}
		else if (JFUStrConst.CD01316_050.equals(tchishoCd))
		{
			//ANK-4543-00-00 MOD START
			//bean.sendMessageString(FUW10601SFConst.DISP_PTN_KBN, X31CWebConst.DATABEAN_SET_VALUE, DISP_PTN_KBN_MAIL);
			if (!isNTT) {
				bean.sendMessageString(FUW10601SFConst.DISP_PTN_KBN, X31CWebConst.DATABEAN_SET_VALUE, DISP_PTN_KBN_MAIL);
			} else {
				bean.sendMessageString(FUW10601SFConst.DISP_PTN_KBN, X31CWebConst.DATABEAN_SET_VALUE, DISP_PTN_KBN_NTT);
			}
			//ANK-4543-00-00 MOD END
		}
		else if (JFUStrConst.CD01316_060.equals(tchishoCd))
		{
			bean.sendMessageString(FUW10601SFConst.DISP_PTN_KBN, X31CWebConst.DATABEAN_SET_VALUE, DISP_PTN_KBN_ADSL_EACCSESS);
		}
		else if (JFUStrConst.CD01316_070.equals(tchishoCd))
		{
			bean.sendMessageString(FUW10601SFConst.DISP_PTN_KBN, X31CWebConst.DATABEAN_SET_VALUE, DISP_PTN_KBN_ADSL_FLETS);
		}
	}

	/**
	 * 注記設定
	 * <br/>
	 * 注記文言の設定を行います。
	 *
	 * @param bean サービスフォームBean
	 * @throws Exception
	 */
	private void setDtlNote(X31SDataBeanAccess bean) throws Exception
	{
		// 定義ファイル取得
		Map<String, String> chukiMap = JFUWebCommon.getDispItemsAsMap(QUERY_PATH, QUERY_ATTR_NAME);

		// サービスフォームBean.登録証詳細
		X31SDataBeanAccessArray dtlTchisho = bean.getDataBeanArray(FUW10601SFConst.DTL_TCHISHO);
		X31SDataBeanAccess subbean = dtlTchisho.getDataBean(0);

		String ptnKbn = bean.sendMessageString(FUW10601SFConst.DISP_PTN_KBN, X31CWebConst.DATABEAN_GET_VALUE);

		if (DISP_PTN_KBN_3SET.equals(ptnKbn))
		{
			// サービスフォームBean.登録証詳細情報.詳細_eoID注記1（画面）←　サービスフォームBean.注記文言１（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_ID_NOTE1_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE1_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_eoID注記2（画面） ←　サービスフォームBean.注記文言２（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_ID_NOTE2_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE2_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_Webアカウント注記（画面） ← サービスフォームBean.注記文言４（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_WEB_ACCOUNT_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE4_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_マイポータル注記（画面） ← サービスフォームBean.注記文言５（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_URL_PMP_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE5_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_FTPサーバー注記（画面） ← サービスフォームBean.注記文言６（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_FTP_SERVER_NM_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE6_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_Webアカウント取得注記（画面） ← サービスフォームBean.注記文言７（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_GET_WEB_ACCOUNT_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE7_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_eo光電話注記1（画面） ← サービスフォームBean.注記文言８（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_HIKARI_NOTE1_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE8_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_eo光電話注記2（画面） ← サービスフォームBean.注記文言９（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_HIKARI_NOTE2_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE9_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_eo光テレビ注記（画面） ← サービスフォームBean.注記文言１２（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_HIKARI_TV_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE12_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_ID/パスワード管理注記（画面） ← サービスフォームBean.注記文言１１（画面）
			String note11 = bean.sendMessageString(FUW10601SFConst.NOTE11_DISP, X31CWebConst.DATABEAN_GET_VALUE);
			note11 = note11.replace(RE_2, chukiMap.get(PWD_CHUKI_PTN1));
			subbean.sendMessageString(FUW10601SFConst.DTL_ID_PWD_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, note11);

			// サービスフォームBean.登録証詳細情報.詳細_eo光電話注記3（画面） ← サービスフォームBean.注記文言１３（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_HIKARI_NOTE3_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE13_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_eo光ネット注記（画面） ← サービスフォームBean.注記文言１４（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_HIKARI_NET_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE14_DISP, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if (DISP_PTN_KBN_3SET_MNP.equals(ptnKbn))
		{
			// サービスフォームBean.登録証詳細情報.詳細_eoID注記1（画面）←　サービスフォームBean.注記文言１（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_ID_NOTE1_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE1_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_eoID注記2（画面） ←　サービスフォームBean.注記文言２（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_ID_NOTE2_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE2_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_Webアカウント注記（画面） ← サービスフォームBean.注記文言４（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_WEB_ACCOUNT_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE4_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_マイポータル注記（画面） ← サービスフォームBean.注記文言５（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_URL_PMP_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE5_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_FTPサーバー注記（画面） ← サービスフォームBean.注記文言６（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_FTP_SERVER_NM_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE6_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_Webアカウント取得注記（画面） ← サービスフォームBean.注記文言７（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_GET_WEB_ACCOUNT_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE7_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_eo光電話注記2（画面） ← サービスフォームBean.注記文言９（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_HIKARI_NOTE2_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE9_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_ID/パスワード管理注記（画面） ← サービスフォームBean.注記文言１１（画面）
			String note11 = bean.sendMessageString(FUW10601SFConst.NOTE11_DISP, X31CWebConst.DATABEAN_GET_VALUE);
			note11 = note11.replace(RE_2, chukiMap.get(PWD_CHUKI_PTN2));
			subbean.sendMessageString(FUW10601SFConst.DTL_ID_PWD_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, note11);

			// サービスフォームBean.登録証詳細情報.詳細_eo光電話注記3（画面） ← サービスフォームBean.注記文言１３（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_HIKARI_NOTE3_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE13_DISP, X31CWebConst.DATABEAN_GET_VALUE));
		}
		else if (DISP_PTN_KBN_MOBILE.equals(ptnKbn))
		{
			// サービスフォームBean.登録証詳細情報.詳細_eoID注記1（画面）←　サービスフォームBean.注記文言１（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_ID_NOTE1_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE1_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_eoID注記2（画面） ←　サービスフォームBean.注記文言２（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_ID_NOTE2_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE2_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_Webアカウント注記（画面） ← サービスフォームBean.注記文言４（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_WEB_ACCOUNT_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE4_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_マイポータル注記（画面） ← サービスフォームBean.注記文言５（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_URL_PMP_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE5_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_FTPサーバー注記（画面） ← サービスフォームBean.注記文言６（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_FTP_SERVER_NM_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE6_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_Webアカウント取得注記（画面） ← サービスフォームBean.注記文言７（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_GET_WEB_ACCOUNT_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE7_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_eoモバイル注記（画面） ← サービスフォームBean.注記文言１０（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_MOBILE_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE10_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_ID/パスワード管理注記（画面） ← サービスフォームBean.注記文言１１（画面）
			String note11 = bean.sendMessageString(FUW10601SFConst.NOTE11_DISP, X31CWebConst.DATABEAN_GET_VALUE);
			note11 = note11.replace(RE_2, chukiMap.get(PWD_CHUKI_PTN2));
			subbean.sendMessageString(FUW10601SFConst.DTL_ID_PWD_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, note11);
		}
		else if (DISP_PTN_KBN_MAIL.equals(ptnKbn))
		{
			// サービスフォームBean.登録証詳細情報.詳細_eoID注記1（画面）←　サービスフォームBean.注記文言１（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_ID_NOTE1_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE1_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_eoID注記2（画面） ←　サービスフォームBean.注記文言２（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_ID_NOTE2_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE2_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_Webアカウント注記（画面） ← サービスフォームBean.注記文言４（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_WEB_ACCOUNT_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE4_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_マイポータル注記（画面） ← サービスフォームBean.注記文言５（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_URL_PMP_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE5_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_ID/パスワード管理注記（画面） ← サービスフォームBean.注記文言１１（画面）
			String note11 = bean.sendMessageString(FUW10601SFConst.NOTE11_DISP, X31CWebConst.DATABEAN_GET_VALUE);
			note11 = note11.replace(RE_2, chukiMap.get(PWD_CHUKI_PTN3));
			subbean.sendMessageString(FUW10601SFConst.DTL_ID_PWD_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, note11);
		}
		else if (DISP_PTN_KBN_ADSL_FLETS.equals(ptnKbn))
		{
			// サービスフォームBean.登録証詳細情報.詳細_eoID注記1（画面）←　サービスフォームBean.注記文言１（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_ID_NOTE1_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE1_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_eoID注記2（画面） ←　サービスフォームBean.注記文言２（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_ID_NOTE2_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE2_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_Webアカウント注記（画面） ← サービスフォームBean.注記文言４（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_WEB_ACCOUNT_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE4_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_マイポータル注記（画面） ← サービスフォームBean.注記文言５（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_URL_PMP_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE5_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_FTPサーバー注記（画面） ← サービスフォームBean.注記文言６（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_FTP_SERVER_NM_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE6_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_Webアカウント取得注記（画面） ← サービスフォームBean.注記文言７（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_GET_WEB_ACCOUNT_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE7_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_ID/パスワード管理注記（画面） ← サービスフォームBean.注記文言１１（画面）
			String note11 = bean.sendMessageString(FUW10601SFConst.NOTE11_DISP, X31CWebConst.DATABEAN_GET_VALUE);
			note11 = note11.replace(RE_2, chukiMap.get(PWD_CHUKI_PTN1));
			subbean.sendMessageString(FUW10601SFConst.DTL_ID_PWD_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, note11);
		}
		else if (DISP_PTN_KBN_ADSL_EACCSESS.equals(ptnKbn))
		{
			// サービスフォームBean.登録証詳細情報.詳細_eoID注記1（画面）←　サービスフォームBean.注記文言１（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_ID_NOTE1_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE1_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_eoID注記2（画面） ←　サービスフォームBean.注記文言２（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_EO_ID_NOTE2_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE2_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_認証ID注記（画面） ← サービスフォームBean.注記文言３（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_NINSHO_ID_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE3_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_Webアカウント注記（画面） ← サービスフォームBean.注記文言４（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_WEB_ACCOUNT_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE4_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_マイポータル注記（画面） ← サービスフォームBean.注記文言５（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_URL_PMP_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE5_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_FTPサーバー注記（画面） ← サービスフォームBean.注記文言６（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_FTP_SERVER_NM_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE6_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_Webアカウント取得注記（画面） ← サービスフォームBean.注記文言７（画面）
			subbean.sendMessageString(FUW10601SFConst.DTL_GET_WEB_ACCOUNT_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, bean.sendMessageString(
					FUW10601SFConst.NOTE7_DISP, X31CWebConst.DATABEAN_GET_VALUE));

			// サービスフォームBean.登録証詳細情報.詳細_ID/パスワード管理注記（画面） ← サービスフォームBean.注記文言１１（画面）
			String note11 = bean.sendMessageString(FUW10601SFConst.NOTE11_DISP, X31CWebConst.DATABEAN_GET_VALUE);
			note11 = note11.replace(RE_2, chukiMap.get(PWD_CHUKI_PTN2));
			subbean.sendMessageString(FUW10601SFConst.DTL_ID_PWD_NOTE_DISP_07, X31CWebConst.DATABEAN_SET_VALUE, note11);
		}

	}

	/**
	 * 他設定
	 * <br/>
	 * 他項目の設定を行います。
	 *
	 * @param bean サービスフォームBean
	 */
	private void setOther(X31SDataBeanAccess bean)
	{

		// ○整理番号の編集
		String seiriNo = getSelectTorokuListItem(bean, FUW10601SFConst.SEIRI_NO_06);
		StringBuffer sb = new StringBuffer();

		if (!JFUWebCommon.isNull(seiriNo) && seiriNo.length() >= 10)
		{
			String seiriNoPre = seiriNo.substring(0, 10);
			String seiriNoSuf = seiriNo.substring(10);

			int seiriNoSufNum = Integer.parseInt(seiriNoSuf);
			sb.append(seiriNoPre).append(JFUStrConst.HALF_HAIHUN).append(seiriNoSufNum);
		}
		else
		{
			sb.append(seiriNo);
		}

		// 表示用整理番号
		bean.sendMessageString(FUW10601SFConst.DISP_SEIRI_NO, X31CWebConst.DATABEAN_SET_VALUE, sb.toString());
	}

	/**
	 * コード区分名称取得
	 * <br/>
	 * コード種別のコード区分より名称を取得します。
	 *
	 * @param codeList コード種別
	 * @param selectCd 指定コード値
	 * @return コード区分名
	 */
	private String getCodeName(X31SDataBeanAccessArray codeList, String selectCd)
	{

		if (codeList == null)
		{
			return JFUStrConst.EMPTY;
		}

		// コード一覧の件数分繰り返す
		for (int i = 0; i < codeList.getCount(); i++)
		{
			// コード種別情報の取得
			X31SDataBeanAccess subbean = codeList.getDataBean(i);

			// コード区分の取得
			String cd_div = subbean.sendMessageString(FUW10601SFConst.CD_DIV_08, X31CWebConst.DATABEAN_GET_VALUE);

			// コードが一致する場合
			if (selectCd.equals(cd_div))
			{
				// コード区分名の取得
				String cd_div_nm = subbean.sendMessageString(FUW10601SFConst.CD_DIV_NM_08, X31CWebConst.DATABEAN_GET_VALUE);
				return cd_div_nm;
			}
		}

		return JFUStrConst.EMPTY;
	}

	/**
	 * 帳票定義体の電子ファイル管理番号の取得
	 * <br/>
	 * 帳票定義体の電子ファイル管理番号を取得します。
	 *
	 * @param bean サービスフォームBean
	 * @return 帳票定義体の電子ファイル管理番号
	 */
	private String getChohyoTeigiNo(X31SDataBeanAccess bean)
	{
		String ptnKbn = bean.sendMessageString(FUW10601SFConst.DISP_PTN_KBN, X31CWebConst.DATABEAN_GET_VALUE);

		if (DISP_PTN_KBN_3SET.equals(ptnKbn))
		{
			return JFUStrConst.CHOHYO_3SET;
		}
		else if (DISP_PTN_KBN_3SET_MNP.equals(ptnKbn))
		{
			return JFUStrConst.CHOHYO_3SET_MNP;
		}
		else if (DISP_PTN_KBN_MOBILE.equals(ptnKbn))
		{
			return JFUStrConst.CHOHYO_MOBILE;
		}
		else if (DISP_PTN_KBN_MAIL.equals(ptnKbn))
		{
			return JFUStrConst.CHOHYO_MAIL;
		}
		else if (DISP_PTN_KBN_ADSL_FLETS.equals(ptnKbn))
		{
			return JFUStrConst.CHOHYO_ADSL_FLETS;
		}
		else if (DISP_PTN_KBN_ADSL_EACCSESS.equals(ptnKbn))
		{
			return JFUStrConst.CHOHYO_ADSL_EACCSESS;
		}
		else
		{
			return JFUStrConst.EMPTY;
		}
	}

	/**
	 * ダウンロードファイル名取得
	 * <br/>
	 * ダウンロードダイアログに表示するファイル名を取得します。
	 *
	 * @param bean サービスフォームBean
	 * @return ダウンロードファイル名
	 */
	private String getDownloadFileNm(X31SDataBeanAccess bean)
	{
		return DOWNLOAD_FILE_NM + JFUStrConst.KIGOU_PERIOD_HALF + JFUStrConst.CHOHYO_EXTENSION_PDF;
	}

	/**
	 * 共有フォームBean情報取得
	 * <br/>
	 * 共有フォームBeanの情報を取得します。
	 *
	 * @param commoninfoBean 共有フォームBean
	 * @return 取得した情報を保持したマップ
	 */
	private Map<String, Object> getCommoninfoBeanInfo(X31SDataBeanAccess commoninfoBean)
	{
		// 結果格納マップ
		Map<String, Object> resultMap = new HashMap<String, Object>();

		// ★WEB変更情報
		X31SDataBeanAccess webChgInfoBean = getX31SDataBeanAccess(commoninfoBean, CommonInfoCFConst.WEB_CHG_INFO);

		// ★SSO情報(WEB変更情報の子階層)
		X31SDataBeanAccessArray ssoInfoArray = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.SSO_INFO);
		X31SDataBeanAccess ssoInfoBean = ssoInfoArray.getDataBean(0);

		// ★現顧客情報
		X31SDataBeanAccessArray genCustKeiInfoArray = webChgInfoBean.getDataBeanArray(CommonInfoCFConst.GEN_CUST_KEI_INFO);
		X31SDataBeanAccess genCustKeiInfoBean = genCustKeiInfoArray.getDataBean(0);

		// 各Bean情報を設定
		resultMap.put(CommonInfoCFConst.WEB_CHG_INFO, webChgInfoBean);
		resultMap.put(CommonInfoCFConst.SSO_INFO, ssoInfoBean);
		resultMap.put(CommonInfoCFConst.GEN_CUST_KEI_INFO, genCustKeiInfoBean);

		return resultMap;
	}

	/**
	 * データBean取得
	 * <br/>
	 * データBeanリストから0番目のデータBeanを取得します。
	 *
	 * @param bean データBean
	 * @param componentID 項目ID
	 * @return 取得したデータBean
	 */
	private X31SDataBeanAccess getX31SDataBeanAccess(X31SDataBeanAccess bean, String componentID)
	{
		X31SDataBeanAccessArray subBeanArray = bean.getDataBeanArray(componentID);
		X31SDataBeanAccess subBean = subBeanArray.getDataBean(0);
		if (JFUWebCommon.isNull(subBean))
		{
			subBeanArray.addDataBean();
			subBean = subBeanArray.getDataBean(0);
		}
		return subBean;
	}

	/**
	 * 有効な料金グループかをチェック
	 *
	 * @param bean データBean
	 * @return 有効／無効
	 */
	private boolean isValidPrcGrpCd(X31SDataBeanAccess bean)
	{
		boolean ret = false;

		// サービスフォームBean.通知書一覧
		X31SDataBeanAccessArray tchishoList = bean.getDataBeanArray(FUW10601SFConst.TCHISHO_LIST);

		for (int i = 0; i < tchishoList.getCount(); i++)
		{
			String strGrpCd = "";

			String keys[] =
					tchishoList.getDataBean(i).sendMessageString(FUW10601SFConst.KEY_LIST_01, X31CWebConst.DATABEAN_GET_VALUE).split(
							JFUStrConst.COMMA);

			for (String key : keys)
			{
				// eo電気でない場合は有効とする
				if (!JFUStrConst.CD00133_17.equals(key.split(JFUStrConst.HALF_COLON)[1]))
				{
					strGrpCd += JFUStrConst.COMMA + key;
					ret = true;
				}
			}

			// eo電気のみの場合はリストから除外する
			if (strGrpCd.length() == 0)
			{
				tchishoList.removeDataBean(i--);
			}
			// eo電気は除外して再設定する
			else
			{
				tchishoList.getDataBean(i).sendMessageString(FUW10601SFConst.KEY_LIST_01, X31CWebConst.DATABEAN_SET_VALUE, strGrpCd.substring(1));
			}

		}

		return ret;
	}
	
	// ANK-4543-00-00 ADD START
	/**
	 * NTTの確認（ANK-4543-00-00）ステップ０<br/>
	 * メールアドレス登録証
	 *
	 * @param bean データBean
	 * @return 有効／無効
	 */
	private boolean isNTTCheck(X31SDataBeanAccess bean)
	{
		boolean ret = false;

		// サービスフォームBean.通知書一覧
		X31SDataBeanAccessArray tchishoList = bean.getDataBeanArray(FUW10601SFConst.TCHISHO_LIST);

		for (int i = 0; i < tchishoList.getCount(); i++)
		{
			String keys[] =
					tchishoList.getDataBean(i).sendMessageString(FUW10601SFConst.KEY_LIST_01, X31CWebConst.DATABEAN_GET_VALUE).split(
							JFUStrConst.COMMA);

			for (String key : keys)
			{
				if ("true".equals(key.split(JFUStrConst.HALF_COLON)[4]))
				{
					ret = true;
					break;
				}
			}
		}

		return ret;
	}
	// ANK-4543-00-00 ADD END
} 