/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JFUGetRhWebAccessInfoCC
*   ソースファイル名：JFUGetRhWebAccessInfoCC.java
*   作成者          ：富士通
*   日付            ：2022年02月18日
*＜機能概要＞
*   量販訪販Ｗｅｂアクセス認証キー取得コモンコンポーネント部品
*＜修正履歴＞
*   バージョン   修正日       修正者      修正内容
*   v57.00       2021/12/28   FJ）張本    【ANK-4170-00-00】eフロントの改善要望に関するeo顧客基幹SのAPI・画面連携変更対応(2022年1月下旬リリース)
*   v57.01       2022/02/09	  FJ) 張本    【ANK-4173-00-00】【eo顧客】解約後の契約情報表示、再申込対応
*   v67.00		 2023/08/24	  FJ) 平野    【#82581】量販訪販ログインスキップ時の「代理店コード名」表示内容相違
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

import com.fujitsu.futurity.bp.x21.bpm.db.SessionHandle;
import com.fujitsu.futurity.bp.x21.bpm.exception.RequestParameterException;
import com.fujitsu.futurity.bp.x21.bpm.parameter.IRequestParameterReadWrite;
import com.fujitsu.futurity.model.ejb.common.JSYejbLog;

import eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.ejb.cbs.cbsmsg.EFU0371A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EFU0371A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EFU0371C010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0061A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0061A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0251A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0251A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EZM0501A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0501A010CBSMsg1List;
import eo.ejb.common.JFUModelCommon;

/**
 * 量販訪販Ｗｅｂアクセス認証キー取得コモンコンポーネント部品
 * <br>
 * @author 富士通
 */
@SuppressWarnings("unchecked")
public class JFUGetRhWebAccessInfoCC extends JFUBaseCC
{

	/* ■□ EFU0371A010_量販訪販Ｗｅｂアクセス認証キー一覧照会SC ■□ */
	/** テンプレートID(量販訪販Ｗｅｂアクセス認証キー一覧照会) */
	private static final String TEMP_ID_EFU0371A010 = "EFU0371A010";
	/** テンプレートID(量販訪販Ｗｅｂアクセス認証キー一覧照会明細) */
	private static final String TEMP_ID_DTL_EFU0371A010 = EFU0371A010CBSMsg.EFU0371A010CBSMSG1LIST;
	/** IN項目リスト(量販訪販Ｗｅｂアクセス認証キー一覧照会) */
	private static final List<String> IN_COL_LIST_EFU0371A010 = Arrays.asList(EFU0371A010CBSMsg.KEY_RH_VH_WEB_ACCSS_NSKEY);
	/** 関連チェックエラー項目(量販訪販Ｗｅｂアクセス認証キー一覧照会) */
	private static final String ERR_COL_EFU0371A010 = EFU0371A010CBSMsg.KEY_RH_VH_WEB_ACCSS_NSKEY_ERR;
	/** SC実行結果取得キー(量販訪販Ｗｅｂアクセス認証キー一覧照会) */
	private static final String TEMP_TEMP_KEY_EFU0371A010 = TEMP_TEMPLATE_PRIFIX + TEMP_ID_EFU0371A010 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ EFU0371C010_量販訪販Ｗｅｂアクセス認証キー変更SC ■□ */
	/** テンプレートID(量販訪販Ｗｅｂアクセス認証キー変更) */
	private static final String TEMP_ID_EFU0371C010 = "EFU0371C010";
	/** IN項目リスト(量販訪販Ｗｅｂアクセス認証キー変更) */
	private static final List<String> IN_COL_LIST_EFU0371C010 
		= Arrays.asList(
				EFU0371C010CBSMsg.RH_VH_WEB_ACCSS_NSKEY, 
				EFU0371C010CBSMsg.WEB_ACCSS_NSKEY_STAT_CD, 
				EFU0371C010CBSMsg.UPD_DTM_BF);
	/** テンプレートID(量販訪販Ｗｅｂアクセス認証キー一覧照会明細) */
	private static final String TEMP_ID_DTL_EFU0371C010 = null;
	/** 関連チェックエラー項目(量販訪販Ｗｅｂアクセス認証キー変更) */
	private static final String ERR_COL_EFU0371C010 = EFU0371C010CBSMsg.RH_VH_WEB_ACCSS_NSKEY_ERR;

	/* ■□ EKK0061A010_代理店一意照会SC ■□ */
	/** テンプレートID(代理店一意照会) */
	private static final String TEMP_ID_EKK0061A010 = "EKK0061A010";
	/** テンプレートID(代理店一意照会明細) */
	private static final String TEMP_ID_DTL_EKK0061A010 = EKK0061A010CBSMsg.EKK0061A010CBSMSG1LIST;
	/** IN項目リスト(代理店一意照会) */
	private static final List<String> IN_COL_LIST_EKK0061A010 = Arrays.asList(EKK0061A010CBSMsg.KEY_AGNT_CD, EKK0061A010CBSMsg.KEY_RSV_APLY_YMD);
	/** 関連チェックエラー項目(代理店一意照会) */
	private static final String ERR_COL_EKK0061A010 = EKK0061A010CBSMsg.KEY_AGNT_CD_ERR;
	/** SC実行結果取得キー(代理店一意照会) */
	private static final String TEMP_TEMP_KEY_EKK0061A010 = TEMP_TEMPLATE_PRIFIX + TEMP_ID_EKK0061A010 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ EZM0501A010_量販訪販ユーザーパスワード一意照会SC ■□ */
	/** テンプレートID(量販訪販ユーザーパスワード一意照会) */
	private static final String TEMP_ID_EZM0501A010 = "EZM0501A010";
	/** テンプレートID(量販訪販ユーザーパスワード一意照会明細) */
	private static final String TEMP_ID_DTL_EZM0501A010 = EZM0501A010CBSMsg.EZM0501A010CBSMSG1LIST;
	/** IN項目リスト(量販訪販ユーザーパスワード一意照会) */
	private static final List<String> IN_COL_LIST_EZM0501A010 = Arrays.asList(EZM0501A010CBSMsg.KEY_USER_ID);
	/** 関連チェックエラー項目(量販訪販ユーザーパスワード一意照会) */
	private static final String ERR_COL_EZM0501A010 = EZM0501A010CBSMsg.KEY_USER_ID_ERR;
	/** SC実行結果取得キー(量販訪販ユーザーパスワード一意照会) */
	private static final String TEMP_TEMP_KEY_EZM0501A010 = TEMP_TEMPLATE_PRIFIX + TEMP_ID_EZM0501A010 + TEMP_TEMPLATE_PRIFIX_SEP;

	/* ■□ EKK0251A010_サービス契約回線内訳一意照会照会SC ■□ */
	/** テンプレートID(サービス契約回線内訳一意照会照会) */
	private static final String TEMP_ID_EKK0251A010 = "EKK0251A010";
	/** テンプレートID(サービス契約回線内訳一意照会照会明細) */
	private static final String TEMP_ID_DTL_EKK0251A010 = EKK0251A010CBSMsg.EKK0251A010CBSMSG1LIST;
	/** IN項目リスト(サービス契約回線内訳一意照会照会) */
	private static final List<String> IN_COL_LIST_EKK0251A010 = Arrays.asList(EKK0251A010CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO);
	/** 関連チェックエラー項目(サービス契約回線内訳一意照会照会) */
	private static final String ERR_COL_EKK0251A010 = EKK0251A010CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO_ERR;
	/** SC実行結果取得キー(サービス契約回線内訳一意照会照会) */
	private static final String TEMP_TEMP_KEY_EKK0251A010 = TEMP_TEMPLATE_PRIFIX + TEMP_ID_EKK0251A010 + TEMP_TEMPLATE_PRIFIX_SEP;

	// ■ IN項目ID ■
	/** IN項目ID：Ｗｅｂアクセス認証キー */
	private static final String IN_WEB_ACCSS_NSKEY = "web_accss_nskey";
	/** IN項目ID：ユーザID */
	private static final String IN_WEB_USER_ID = "user_id";


	// ■ OUT項目ID ■
	/** OUT項目ID：Web申込機能コード */
	private static final String OUT_WEB_MSMK_FUNC_CD = "webMskmFuncCode";
	/** OUT項目ID：SYSID */
	private static final String OUT_SYSID = "sysid";
	/** OUT項目ID：サービス契約回線内訳番号 */
	private static final String OUT_SVC_KEI_KAISEN_UCWK_NO = "svcKeiKaisenUcwkNo";
	/** OUT項目ID：署名必須 */
	private static final String OUT_SIGN_REQ = "signReq";
	/** OUT項目ID：認証結果フラグ */
	private static final String OUT_NINSHO_RESULT_FLG = "ninsho_result_flg";
	/** OUT項目ID：申込回線サービス */
	private static final String OUT_MSKM_KSN_SVC = "mskmKsnSvc";

	/** 認証結果フラグ：正常 */
	private static final String NINSHO_RESULT_FLG_0 = "0";
	/** 認証結果フラグ：エラー */
	private static final String NINSHO_RESULT_FLG_1 = "1";

	/**
	 * 量販訪販Ｗｅｂアクセス認証キー取得処理<br>
	 * 
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ管理クラス
	 * @throws Exception 例外
	 */
	public IRequestParameterReadWrite execute(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Exception
	{

		// ●結果格納マップ
		HashMap resultMap = new HashMap();

		// 量販訪販Ｗｅｂアクセス認証キー情報取得処理
		resultMap = getWebAccssNskey(handle, param, fixedText);

		// ●リクエストパラメータに結果を格納
		param.removeData(fixedText);
		param.setData(fixedText, resultMap);

		return param;
	}

	/**
	 * 量販訪販Ｗｅｂアクセス認証キー取得処理<br>
	 * 
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param リクエストパラメータ管理クラス
	 * @throws Exception 例外
	 */
	private HashMap getWebAccssNskey(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		// 開始ログ
		outDebugLog("----- getWebAccssNskey Start  -----");
		
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ●結果格納マップ
		HashMap resultMap = new HashMap();
		// OUT項目ID：認証結果フラグ
		resultMap.put(OUT_NINSHO_RESULT_FLG, NINSHO_RESULT_FLG_1);

		String inWebAccssNskey = (String)inMap.get(IN_WEB_ACCSS_NSKEY);
		
		String inUserId = (String)inMap.get(IN_WEB_USER_ID);
		
		// ◆INパラメータがなければエラー
		if (JFUBPCommon.isNull(inWebAccssNskey) || JFUBPCommon.isNull(inUserId))
		{
			// 終了ログ
			outDebugLog("----- getWebAccssNskey Error  -----");
			return resultMap;
		}

		// ○EFU0371A010_量販訪販Ｗｅｂアクセス認証キー一覧照会
		// ユーザデータ初期化
		initData(param, fixedText, IN_COL_LIST_EFU0371A010);
		// 上りマッピング
		setInMapEFU0371A010(param, fixedText, inWebAccssNskey);
		//検索エラーなし設定
		ignoreSearchError(param, fixedText);
		// サービスIF実行
		executeSC(handle, param, fixedText, TEMP_ID_EFU0371A010, TEMP_ID_DTL_EFU0371A010, IN_COL_LIST_EFU0371A010, ERR_COL_EFU0371A010);
		// マップを取得
		HashMap EFU0371A010Map = null;

		if (isExistsTemplateDetail(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMP_KEY_EFU0371A010), TEMP_ID_DTL_EFU0371A010))
		{
			// マップを取得
			EFU0371A010Map = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMP_KEY_EFU0371A010), TEMP_ID_DTL_EFU0371A010, 0);

			// ○EFU0371C010_量販訪販Ｗｅｂアクセス認証キー変更
			// ユーザデータ初期化
			initData(param, fixedText, IN_COL_LIST_EFU0371C010);
			// 上りマッピング
			setInMapEFU0371C010(param, fixedText, EFU0371A010Map);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMP_ID_EFU0371C010, TEMP_ID_DTL_EFU0371C010, IN_COL_LIST_EFU0371C010, ERR_COL_EFU0371C010);

			// ユーザIDが一致するか
			if (!inUserId.equals(EFU0371A010Map.get(EFU0371A010CBSMsg1List.USER_ID)))
			{
				// 終了ログ
				outDebugLog("----- getWebAccssNskey Error  -----");
				return resultMap;
			}
			// キー有効か 
			if (!JFUStrConst.CD00016_0.equals(((String)EFU0371A010Map.get(EFU0371A010CBSMsg1List.WEB_ACCSS_NSKEY_STAT_CD))))
			{
				// 終了ログ
				outDebugLog("----- getWebAccssNskey Error  -----");
				return resultMap;
			}
			// 有効期限以内か
			if (JFUBPCommon.getSysDateTimeStamp().compareTo((String)EFU0371A010Map.get(EFU0371A010CBSMsg1List.YK_KIGEN_DTM)) > 0)
			{
				// 終了ログ
				outDebugLog("----- getWebAccssNskey Error  -----");
				return resultMap;
			}

			// 入力データ
			String inputData = (String)EFU0371A010Map.get(EFU0371A010CBSMsg1List.INPUT_DATA);
			// 代理店コード
			String agentCd = (String)EFU0371A010Map.get(EFU0371A010CBSMsg1List.AGNT_CD);

			// OUT項目ID：代理店コード
			resultMap.put(EFU0371A010CBSMsg1List.AGNT_CD, agentCd);
			// OUT項目ID：Web申込機能コード
			resultMap.put(OUT_WEB_MSMK_FUNC_CD, JFUModelCommon.getJsonValue(inputData, OUT_WEB_MSMK_FUNC_CD));
			// OUT項目ID：SYSID
			resultMap.put(OUT_SYSID, JFUModelCommon.getJsonValue(inputData, OUT_SYSID));
			// OUT項目ID：サービス契約回線内訳番号
			resultMap.put(OUT_SVC_KEI_KAISEN_UCWK_NO, JFUModelCommon.getJsonValue(inputData, OUT_SVC_KEI_KAISEN_UCWK_NO));
			// OUT項目ID：署名必須設定
			resultMap.put(OUT_SIGN_REQ, JFUModelCommon.getJsonValue(inputData, OUT_SIGN_REQ));

			if (JPCModelConstant.FUNC_CD_3.equals(JFUModelCommon.getJsonValue(inputData, OUT_WEB_MSMK_FUNC_CD)))
			{
				// ○EKK0251A010_量販訪販Ｗｅｂアクセス認証キー一覧照会
				// ユーザデータ初期化
				initData(param, fixedText, IN_COL_LIST_EKK0251A010);
				// 上りマッピング
				setInMapEKK0251A010(param, fixedText, (String)JFUModelCommon.getJsonValue(inputData, OUT_SVC_KEI_KAISEN_UCWK_NO));
				//検索エラーなし設定
				ignoreSearchError(param, fixedText);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMP_ID_EKK0251A010, TEMP_ID_DTL_EKK0251A010, IN_COL_LIST_EKK0251A010, ERR_COL_EKK0251A010);

				if (isExistsTemplateDetail(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMP_KEY_EKK0251A010), TEMP_ID_DTL_EKK0251A010))
				{
					// マップを取得
					HashMap EKK0251A010Map =
							getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMP_KEY_EKK0251A010), TEMP_ID_DTL_EKK0251A010, 0);
					if (!JFUBPCommon.isNull(EKK0251A010Map.get(EKK0251A010CBSMsg1List.MANSION_BUKKEN_NO)))
					{
						// OUT項目ID：申込回線サービス　マンション
						resultMap.put(OUT_MSKM_KSN_SVC, JFUStrConst.MSKM_KSN_SVC_MANSION);
					}
					else
					{
						// OUT項目ID：申込回線サービス　ホーム
						resultMap.put(OUT_MSKM_KSN_SVC, JFUStrConst.MSKM_KSN_SVC_HOME);
					}
				}
			}

			// ○EKK0061A010_代理店一意照会
			// ユーザデータ初期化
			initData(param, fixedText, IN_COL_LIST_EKK0061A010);
			// 上りマッピング
			setInMapEKK0061A010(param, fixedText, agentCd);
			//検索エラーなし設定
			ignoreSearchError(param, fixedText);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMP_ID_EKK0061A010, TEMP_ID_DTL_EKK0061A010, IN_COL_LIST_EKK0061A010, ERR_COL_EKK0061A010);
			// マップを取得
			HashMap EKK0061A010Map = null;

			if (isExistsTemplateDetail(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMP_KEY_EKK0061A010), TEMP_ID_DTL_EKK0061A010))
			{
				// マップを取得
				EKK0061A010Map = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMP_KEY_EKK0061A010), TEMP_ID_DTL_EKK0061A010, 0);

				// OUT項目ID：代理店名←代理店一意照会明細.フロント画面表示用取扱コード名
				// #82581 MOD START
//				resultMap.put(EKK0061A010CBSMsg1List.AGNT_NM, EKK0061A010Map.get(EKK0061A010CBSMsg1List.AGNT_NM));
				resultMap.put(EKK0061A010CBSMsg1List.AGNT_NM, EKK0061A010Map.get(EKK0061A010CBSMsg1List.FRNT_SCREEN_DSP_TRAT_CD_NM));
				// #82581 MOD END
				
				// OUT項目ID：フロントログイン制御コード
				resultMap.put(EKK0061A010CBSMsg1List.FRNT_LOGIN_CTRL_CD, EKK0061A010Map.get(EKK0061A010CBSMsg1List.FRNT_LOGIN_CTRL_CD));

			}

			// ○EZM0501A010_量販訪販ユーザーパスワード一意照会
			// ユーザデータ初期化
			initData(param, fixedText, IN_COL_LIST_EZM0501A010);
			// 上りマッピング
			setInMapEZM0501A010(param, fixedText, inUserId);
			//検索エラーなし設定
			ignoreSearchError(param, fixedText);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMP_ID_EZM0501A010, TEMP_ID_DTL_EZM0501A010, IN_COL_LIST_EZM0501A010, ERR_COL_EZM0501A010);
			// マップを取得
			HashMap EZM0501A010Map = null;

			if (isExistsTemplateDetail(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMP_KEY_EZM0501A010), TEMP_ID_DTL_EZM0501A010))
			{
				// マップを取得
				EZM0501A010Map = getTemplateListMap(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMP_KEY_EZM0501A010), TEMP_ID_DTL_EZM0501A010, 0);

				// OUT項目ID：ユーザID
				resultMap.put(EZM0501A010CBSMsg1List.USER_ID, EZM0501A010Map.get(EZM0501A010CBSMsg1List.USER_ID));
				// OUT項目ID：ユーザ名
				resultMap.put(EZM0501A010CBSMsg1List.USER_NM, EZM0501A010Map.get(EZM0501A010CBSMsg1List.USER_NM));

			}
			// OUT項目ID：認証結果フラグ
			resultMap.put(OUT_NINSHO_RESULT_FLG, NINSHO_RESULT_FLG_0);
		}

		// 終了ログ
		outDebugLog("----- getWebAccssNskey End  -----");

		return resultMap;
	}

	/**
	 * 上りマッピング項目設定(量販訪販Ｗｅｂアクセス認証キー一覧照会)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws RequestParameterException
	 */
	private void setInMapEFU0371A010(IRequestParameterReadWrite param, String fixedText, String webAccssNskey) throws RequestParameterException
	{
		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード設定(1:PK指定)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// 量販訪販Ｗｅｂアクセス認証キー
		inMap.put(EFU0371A010CBSMsg.KEY_RH_VH_WEB_ACCSS_NSKEY, webAccssNskey);

	}


	/**
	 * 上りマッピング項目設定(量販訪販Ｗｅｂアクセス認証キー一変更)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws RequestParameterException
	 */
	private void setInMapEFU0371C010(IRequestParameterReadWrite param, String fixedText, HashMap map) throws RequestParameterException
	{
		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード設定(1:PK指定)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// Ｗｅｂアクセス認証キー
		inMap.put(EFU0371C010CBSMsg.RH_VH_WEB_ACCSS_NSKEY, map.get(EFU0371A010CBSMsg1List.RH_VH_WEB_ACCSS_NSKEY));
		// Ｗｅｂアクセス認証キー状態コード
		inMap.put(EFU0371C010CBSMsg.WEB_ACCSS_NSKEY_STAT_CD, JFUStrConst.CD00016_1);
		// 更新年月日時分秒(更新前)
		inMap.put(EFU0371C010CBSMsg.UPD_DTM_BF,  map.get(EFU0371A010CBSMsg1List.UPD_DTM));

	}

	/**
	 * 上りマッピング項目設定(代理店一意照会)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws RequestParameterException
	 */
	private void setInMapEKK0061A010(IRequestParameterReadWrite param, String fixedText, String agentCd) throws RequestParameterException
	{
		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード設定(2:カレント)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_2);

		// 代理店コード
		inMap.put(EKK0061A010CBSMsg.KEY_AGNT_CD, agentCd);
		// 予約適用年月日
		inMap.put(EKK0061A010CBSMsg.KEY_RSV_APLY_YMD, JCCBPCommon.getOpeDate(null));

	}

	/**
	 * 上りマッピング項目設定(量販訪販ユーザーパスワード一意照会)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws RequestParameterException
	 */
	private void setInMapEZM0501A010(IRequestParameterReadWrite param, String fixedText, String userId) throws RequestParameterException
	{
		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード設定(2:カレント)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_2);

		// ユーザID
		inMap.put(EZM0501A010CBSMsg.KEY_USER_ID, userId);

	}

	/**
	 * 上りマッピング項目設定(サービス契約回線内訳一意照会照会)
	 * 
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws RequestParameterException
	 */
	private void setInMapEKK0251A010(IRequestParameterReadWrite param, String fixedText, String svcKeiKaisenUcwkNo) throws RequestParameterException
	{
		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// 機能コード設定(2:カレント)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_2);

		// サービス契約回線内訳番号
		inMap.put(EKK0251A010CBSMsg.KEY_SVC_KEI_KAISEN_UCWK_NO, svcKeiKaisenUcwkNo);

	}

	/**
	 * デバッグ出力処理です。
	 * 
	 * <br>
	 * @param obj 出力内容
	 */
	private void outDebugLog(Object obj)
	{
		// デバッグ出力
		JSYejbLog.println(JSYejbLog.DEBUG, this.getClass(), obj, null, null, null);
	}

	/**
	 * チェック処理（共通処理）
	 * 
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ
	 * @throws Exception
	 */
	public HashMap<String, Object> getInvokeCBS(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Exception
	{
		return null;
	}
}
