/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JFUMlAdAddCC
*   ソースファイル名：JFUMlAdAddCC.java
*   作成者          ：富士通
*   日付            ：2013年04月29日
*＜機能概要＞
*   メールアドレス追加申込コモンコンポーネント部品
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v5.00       2013/04/29   FJ）知識    新規作成
*   v5.00       2013/05/15   FJ）中谷    変更【ST3-2013-0000919】メールエイリアスのエイジングチェック処理を追加
*   v23.00      2016/03/15   FJ) 中西    変更【ANK-2350-00-00】 【ＮＯ．１８２３】POPIDパスワード、WebIDパスワードの再振不正
*
**********************************************************************/
package com.fujitsu.futurity.bp.custom.common;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
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 eo.common.constant.JFUStrConst;
import eo.common.constant.JPCModelConstant;
import eo.common.util.JFUCommonUtil;
import eo.ejb.cbs.cbsmsg.EKK0361A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0361A010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EKK0361B001CBSMsg;
import eo.ejb.cbs.cbsmsg.EKK0361B001CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EZM0111B030CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0171B010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0171B010CBSMsg1List;
import eo.ejb.cbs.cbsmsg.EZM0321A010CBSMsg;
import eo.ejb.cbs.cbsmsg.EZM0321A010CBSMsg1List;

/**
 * メールアドレス追加申込部品
 * 
 * <br>
 * @author 富士通
 */
@SuppressWarnings("unchecked")
public class JFUMlAdAddCC extends JFUBaseNetChgCommonCC
{
	/** IN項目:希望メールアカウント1 */
	private static final String IN_PARAM_KIBO_ML_ACCOUNT_1 = "kibo_ml_account_1";
	//【ANK-2350-00-00】 【ＮＯ．１８２３】POPIDパスワード、WebIDパスワードの再振不正 2016.03.15 FJ)中西 add start
	/** IN項目:サービス契約番号 */
	private static final String IN_PARAM_SVC_KEI_NO = "svc_kei_no";
	//【ANK-2350-00-00】 【ＮＯ．１８２３】POPIDパスワード、WebIDパスワードの再振不正 2016.03.15 FJ)中西 add end

	/** OUT項目:メールアドレス使用済チェック結果 */
	private static final String OUT_PARAM_RESULT = "out_result";
	/** OUT項目設定値:エイジング　OK */
	private static final String OUT_PARAM_RESULT_OK = "OK";
	/** OUT項目設定値:エイジング　NG */
	private static final String OUT_PARAM_RESULT_NG = "NG";
	//【ANK-2350-00-00】 【ＮＯ．１８２３】POPIDパスワード、WebIDパスワードの再振不正 2016.03.15 FJ)中西 add start
	/** OUT項目:初期ＰＯＰＩＤパスワード  */
	private static final String OUT_PARAM_SHK_POP_ID_PWD = "shk_pop_id_pwd";
	//【ANK-2350-00-00】 【ＮＯ．１８２３】POPIDパスワード、WebIDパスワードの再振不正 2016.03.15 FJ)中西 add end

	/* ■□ 業務パラメータ管理一意照会SC ■□ */
	/** テンプレートID(業務パラメータ管理一意照会) */
	private static final String TEMPLATE_ID_1 = "EZM0321A010";
	/** テンプレートID(業務パラメータ管理一意照会明細) */
	private static final String TEMPLATE_ID_1_DETAIL = EZM0321A010CBSMsg.EZM0321A010CBSMSG1LIST;
	/** IN項目リスト(業務パラメータ管理一意照会) */
	private static final List<String> IN_COLUMN_LIST_1 = Arrays.asList(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID);
	/** 関連チェックエラー項目(業務パラメータ管理一意照会) */
	private static final String ERROR_COLUMN_1 = EZM0321A010CBSMsg.KEY_WORK_PARAM_ID_ERR;
	/** SC実行結果取得キー(業務パラメータ管理一意照会) */
	private static final String TEMP_TEMPLATE_KEY_1 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_1 + TEMP_TEMPLATE_PRIFIX_SEP + "1";

	/* ■□ コード名称管理SC ■□ */
	/** テンプレートID(コード名称管理) */
	private static final String TEMPLATE_ID_2 = "EZM0171B010";
	/** テンプレートID(コード名称管理明細) */
	private static final String TEMPLATE_ID_2_DETAIL = EZM0171B010CBSMsg.EZM0171B010CBSMSG1LIST;
	/** IN項目リスト(コード名称管理) */
	private static final List<String> IN_COLUMN_LIST_2 = Arrays.asList(EZM0171B010CBSMsg.KEY_CD_SBT_CD);
	/** 関連チェック,エラー項目(コード名称管理) */
	private static final String ERROR_COLUMN_2 = EZM0171B010CBSMsg.KEY_CD_SBT_CD_ERR;
	/** SC実行結果取得キー(コード名称管理) */
	private static final String TEMP_TEMPLATE_KEY_2 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_2 + TEMP_TEMPLATE_PRIFIX_SEP + "1";

	/* ■□ エイジング一覧照会(エイジング対象値)SC ■□ */
	/** テンプレートID(エイジング一覧照会(エイジング対象値)) */
	private static final String TEMPLATE_ID_3 = "EZM0111B030";
	/** テンプレートID(エイジング一覧照会(エイジング対象値)明細) */
	private static final String TEMPLATE_ID_3_DETAIL = EZM0111B030CBSMsg.EZM0111B030CBSMSG1LIST;
	/** IN項目リスト(エイジング一覧照会(エイジング対象値)) */
	private static final List<String> IN_COLUMN_LIST_3 = Arrays.asList(EZM0111B030CBSMsg.KEY_AGING_SBT_CD, EZM0111B030CBSMsg.KEY_AGING_TG_VALUE);
	/** 関連チェック,エラー項目(エイジング一覧照会(エイジング対象値)) */
	private static final String ERROR_COLUMN_3 = EZM0111B030CBSMsg.KEY_AGING_SBT_CD_ERR;
	/** SC実行結果取得キー(エイジング一覧照会(エイジング対象値)) */
	private static final String TEMP_TEMPLATE_KEY_3 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_3 + TEMP_TEMPLATE_PRIFIX_SEP;

	//【ANK-2350-00-00】 【ＮＯ．１８２３】POPIDパスワード、WebIDパスワードの再振不正 2016.03.15 FJ)中西 add start
	/* ■□ オプションサービス契約＜ＩＳＰ＞一覧照会SC ■□ */
	/** テンプレートID(オプションサービス契約＜ＩＳＰ＞一覧照会) */
	private static final String TEMPLATE_ID_4 = "EKK0361B001";
	/** テンプレートID(オプションサービス契約＜ＩＳＰ＞一覧照会明細) */
	private static final String TEMPLATE_ID_4_DETAIL = EKK0361B001CBSMsg.EKK0361B001CBSMSG1LIST;
	/** IN項目リスト(オプションサービス契約＜ＩＳＰ＞一覧照会) */
	private static final List<String> IN_COLUMN_LIST_4 = Arrays.asList(EKK0361B001CBSMsg.KEY_SVC_KEI_NO);
	/** 関連チェック,エラー項目(オプションサービス契約＜ＩＳＰ＞一覧照会) */
	private static final String ERROR_COLUMN_4 = EKK0361B001CBSMsg.KEY_SVC_KEI_NO_ERR;
	/** SC実行結果取得キー(オプションサービス契約＜ＩＳＰ＞一覧照会) */
	private static final String TEMP_TEMPLATE_KEY_4 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_4 + TEMP_TEMPLATE_PRIFIX_SEP + "1";

	/* ■□ オプションサービス契約＜ＩＳＰ＞一意照会SC ■□ */
	/** テンプレートID(オプションサービス契約＜ＩＳＰ＞一意照会) */
	private static final String TEMPLATE_ID_5 = "EKK0361A010";
	/** テンプレートID(オプションサービス契約＜ＩＳＰ＞一意照会明細) */
	private static final String TEMPLATE_ID_5_DETAIL = EKK0361A010CBSMsg.EKK0361A010CBSMSG1LIST;
	/** IN項目リスト(オプションサービス契約＜ＩＳＰ＞一意照会) */
	private static final List<String> IN_COLUMN_LIST_5 = Arrays.asList(EKK0361A010CBSMsg.KEY_OP_SVC_KEI_NO, EKK0361A010CBSMsg.KEY_GENE_ADD_DTM);
	/** 関連チェック,エラー項目(オプションサービス契約＜ＩＳＰ＞一意照会) */
	private static final String ERROR_COLUMN_5 = EKK0361A010CBSMsg.KEY_OP_SVC_KEI_NO_ERR;
	/** SC実行結果取得キー(オプションサービス契約＜ＩＳＰ＞一意照会) */
	private static final String TEMP_TEMPLATE_KEY_5 = TEMP_TEMPLATE_PRIFIX + TEMPLATE_ID_5 + TEMP_TEMPLATE_PRIFIX_SEP;

	//【ANK-2350-00-00】 【ＮＯ．１８２３】POPIDパスワード、WebIDパスワードの再振不正 2016.03.15 FJ)中西 add end

	/**
	 * エイジングチェック処理
	 * 
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ管理クラス
	 * @throws Throwable 
	 */
	public IRequestParameterReadWrite checkAging(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		try
		{
			// ユーザデータ取得
			HashMap inMap = (HashMap)param.getData(fixedText);

			// IN項目:希望メールアカウント1
			String inMapKiboMlad = (String)inMap.get(IN_PARAM_KIBO_ML_ACCOUNT_1);

			// ●業務パラメータ管理一意照会
			// ユーザデータ初期化
			initData(param, fixedText, IN_COLUMN_LIST_1);
			// 上りマッピング
			setInMapMladDomainSearch(param, fixedText);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_1, TEMPLATE_ID_1_DETAIL, IN_COLUMN_LIST_1, ERROR_COLUMN_1);
			// ドメイン
			String domain =
					getTemplateListValue(inMap, TEMP_TEMPLATE_KEY_1, TEMPLATE_ID_1_DETAIL, EZM0321A010CBSMsg1List.WORK_PARAM_SETTE_VALUE,
							JFUStrConst.I_ZERO);

			// ●コード名称管理
			// ユーザデータ初期化
			initData(param, fixedText, IN_COLUMN_LIST_2);
			// 上りマッピング
			setInMapSubDomainSearch(param, fixedText);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_2, TEMPLATE_ID_2_DETAIL, IN_COLUMN_LIST_2, ERROR_COLUMN_2);

			List<HashMap> subDomainList = getTemplateList(inMap, TEMP_TEMPLATE_KEY_2, TEMPLATE_ID_2_DETAIL);

			// 総サブドメイン数
			int subDoainCnt = subDomainList.size();
			// 使用済サブドメイン数
			int agingCount = JFUStrConst.I_ZERO;
			// OUT項目:エイジング OK
			inMap.put(OUT_PARAM_RESULT, OUT_PARAM_RESULT_OK);

			// 空きサブドメインの存在チェック
			for (HashMap codeMeiKanriMap : subDomainList)
			{
				// サブドメイン
				String subDomain = (String)codeMeiKanriMap.get(EZM0171B010CBSMsg1List.CD_DIV_NM);

				// ●エイジング一覧照会(エイジング対象値) ※メールエイリアス
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_3);
				// 検索エラーなし
				ignoreSearchError(param, fixedText);
				// 上りマッピング
				setInMapAgingSearch(param, fixedText, inMapKiboMlad, subDomain, domain, JFUStrConst.CD00412_008);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_3, TEMPLATE_ID_3_DETAIL, IN_COLUMN_LIST_3, ERROR_COLUMN_3);

				// 該当のサブドメインで希望メールアカウントが使用済の場合 ※メールエイリアス
				if (isExistsTemplateDetail(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_3), TEMPLATE_ID_3_DETAIL))
				{
					agingCount++;
				}

				// ●エイジング一覧照会(エイジング対象値) ※メールアドレス
				// ユーザデータ初期化
				initData(param, fixedText, IN_COLUMN_LIST_3);
				// 検索エラーなし
				ignoreSearchError(param, fixedText);
				// 上りマッピング
				setInMapAgingSearch(param, fixedText, inMapKiboMlad, subDomain, domain, JFUStrConst.CD00412_009);
				// サービスIF実行
				executeSC(handle, param, fixedText, TEMPLATE_ID_3, TEMPLATE_ID_3_DETAIL, IN_COLUMN_LIST_3, ERROR_COLUMN_3);

				// 該当のサブドメインで希望メールアカウントが使用済の場合 ※メールアドレス
				if (isExistsTemplateDetail(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_3), TEMPLATE_ID_3_DETAIL))
				{
					agingCount++;
				}
			}

			// 全サブドメインで希望メールアカウントが使用済みの場合
			if (agingCount == subDoainCnt)
			{
				// OUT項目:エイジング NG
				inMap.put(OUT_PARAM_RESULT, OUT_PARAM_RESULT_NG);
			}

		}
		finally
		{
			// 一時領域削除
			super.deleteTempArea(param, fixedText);
		}

		return param;
	}

	//【ANK-2350-00-00】 【ＮＯ．１８２３】POPIDパスワード、WebIDパスワードの再振不正 2016.03.15 FJ)中西 add start
	/**
	 * 初期POPIDパスワード取得処理
	 * 
	 * <br>
	 * @param handle セッションハンドル
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @return リクエストパラメータ管理クラス
	 * @throws Throwable 
	 */
	public IRequestParameterReadWrite getShkPopIdPwd(SessionHandle handle, IRequestParameterReadWrite param, String fixedText) throws Throwable
	{
		try
		{
			// ユーザデータ取得
			HashMap inMap = (HashMap)param.getData(fixedText);

			// ●オプションサービス契約＜ＩＳＰ＞一覧照会
			// ユーザデータ初期化
			initData(param, fixedText, IN_COLUMN_LIST_4);
			// 検索エラーなし
			ignoreSearchError(param, fixedText);
			// 上りマッピング
			setInMapOpSvcKeiIspListSearch(param, fixedText);
			// サービスIF実行
			executeSC(handle, param, fixedText, TEMPLATE_ID_4, TEMPLATE_ID_4_DETAIL, IN_COLUMN_LIST_4, ERROR_COLUMN_4);
			// 取得結果判定
			if (isExistsTemplateDetail(inMap, TEMP_TEMPLATE_KEY_4, TEMPLATE_ID_4_DETAIL))
			{
				// 取得できた場合
				List<HashMap> opSvcKeiIspList = getTemplateList(inMap, TEMP_TEMPLATE_KEY_4, TEMPLATE_ID_4_DETAIL);
				List<HashMap> emailOpSvcKeiIspList = new ArrayList<HashMap>();

				// オプションサービスコードが"B001"(Eメール)の明細を抽出
				for (HashMap<String, Object> childMap : opSvcKeiIspList)
				{
					// オプションサービスコード
					String opSvcCd = (String)childMap.get(EKK0361B001CBSMsg1List.OP_SVC_CD);

					// オプションサービスコードが"B001"(Eメール)の場合
					if (JFUStrConst.CD00136_B001.equals(opSvcCd))
					{

						// オプションサービスコードが"B001"(Eメール)の場合のみソート用リストに追加
						emailOpSvcKeiIspList.add(childMap);
					}
				}

				// 世代登録年月日時分秒の降順となるようにソート
				Collections.sort(emailOpSvcKeiIspList, new Comparator()
				{

					public int compare(Object o1, Object o2)
					{

						HashMap<String, Object> comp1 = (HashMap<String, Object>)o1;
						HashMap<String, Object> comp2 = (HashMap<String, Object>)o2;

						// 世代登録年月日時分秒
						String geneAddDtm1 = (String)comp1.get(EKK0361B001CBSMsg1List.GENE_ADD_DTM);
						String geneAddDtm2 = (String)comp2.get(EKK0361B001CBSMsg1List.GENE_ADD_DTM);

						// 降順として判定
						return geneAddDtm2.compareTo(geneAddDtm1);
					}

				});

				// 世代登録年月日時分秒が最大となる明細から検索キー情報を取得する
				for (HashMap<String, Object> childMap : emailOpSvcKeiIspList)
				{

					// ●オプションサービス契約＜ＩＳＰ＞一意照会
					// ユーザデータ初期化
					initData(param, fixedText, IN_COLUMN_LIST_5);
					// 検索エラーなし
					ignoreSearchError(param, fixedText);
					// 上りマッピング
					setInMapOpSvcKeiIspSearch(param, fixedText, (String)childMap.get(EKK0361B001CBSMsg1List.OP_SVC_KEI_NO), (String)childMap
							.get(EKK0361B001CBSMsg1List.GENE_ADD_DTM));
					// サービスIF実行
					executeSC(handle, param, fixedText, TEMPLATE_ID_5, TEMPLATE_ID_5_DETAIL, IN_COLUMN_LIST_5, ERROR_COLUMN_5);

					if (isExistsTemplateDetail(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_5), TEMPLATE_ID_5_DETAIL))
					{
						// 初期POPIDパスワード
						String shkPopIdPwd =
								getTemplateListValue(inMap, getMaxTempTempleteKey(inMap, TEMP_TEMPLATE_KEY_5), TEMPLATE_ID_5_DETAIL,
										EKK0361A010CBSMsg1List.SHK_POP_ID_PWD, JFUStrConst.I_ZERO);
						if (!JFUCommonUtil.isNull(shkPopIdPwd))
						{
							// 初期POPIDパスワードを保存
							inMap.put(OUT_PARAM_SHK_POP_ID_PWD, shkPopIdPwd);
							break;
						}
					}

				}
			}

		}
		finally
		{
			// 一時領域削除
			super.deleteTempArea(param, fixedText);
		}

		return param;
	}

	//【ANK-2350-00-00】 【ＮＯ．１８２３】POPIDパスワード、WebIDパスワードの再振不正 2016.03.15 FJ)中西 add end

	/**
	 * 上りマッピング項目設定(業務パラメータ管理一意照会)
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws RequestParameterException
	 */
	private void setInMapMladDomainSearch(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		// 機能コード設定(1:業務パラメータ管理一意照会)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿料金コースコード
		inMap.put(EZM0321A010CBSMsg.KEY_WORK_PARAM_ID, JFUStrConst.KK_MLAD_DOMAIN);
	}

	/**
	 * 上りマッピング項目設定(コード名称管理)
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws RequestParameterException
	 */
	private void setInMapSubDomainSearch(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		// 機能コード設定(1:コード名称管理一覧照会_コード区分昇順)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿コード種別コード
		inMap.put(EZM0171B010CBSMsg.KEY_CD_SBT_CD, JFUStrConst.CD_SBT_CD_CD00897); // 固定値("CD00897":Eメール用サブドメインコード)
	}

	/**
	 * 上りマッピング項目設定(エイジング一覧照会(エイジング対象値))
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param kiboMlad 希望メールアドレス
	 * @param subDomain サブドメイン
	 * @param domain ドメイン
	 * @param agingSbtCd エイジング種別コード
	 * @throws RequestParameterException
	 */
	private void setInMapAgingSearch(IRequestParameterReadWrite param, String fixedText, String kiboMlad, String subDomain, String domain,
			String agingSbtCd) throws RequestParameterException
	{
		// 機能コード設定(1:エイジング一覧照会(エイジング対象値))
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		StringBuffer mlad = new StringBuffer();
		mlad.append(kiboMlad).append(JFUStrConst.S_ATT_MARK).append(subDomain).append(JFUStrConst.KIGOU_PERIOD_HALF).append(domain);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿エイジング種別コード
		inMap.put(EZM0111B030CBSMsg.KEY_AGING_SBT_CD, agingSbtCd);
		// ＫＥＹ＿エイジング対象値
		inMap.put(EZM0111B030CBSMsg.KEY_AGING_TG_VALUE, mlad.toString());
	}

	//【ANK-2350-00-00】 【ＮＯ．１８２３】POPIDパスワード、WebIDパスワードの再振不正 2016.03.15 FJ)中西 add start
	/**
	 * 上りマッピング項目設定(オプションサービス契約＜ＩＳＰ＞一覧照会)
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @throws RequestParameterException
	 */
	private void setInMapOpSvcKeiIspListSearch(IRequestParameterReadWrite param, String fixedText) throws RequestParameterException
	{
		// 機能コード設定(1:オプションサービス契約＜ＩＳＰ＞一覧照会)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿サービス契約番号
		inMap.put(EKK0361B001CBSMsg.KEY_SVC_KEI_NO, (String)inMap.get(IN_PARAM_SVC_KEI_NO));
	}

	/**
	 * 上りマッピング項目設定(オプションサービス契約＜ＩＳＰ＞一意照会)
	 * <br>
	 * @param param リクエストパラメータ
	 * @param fixedText サービスメッセージ
	 * @param opSvcKeiNo オプションサービス契約番号
	 * @param geneAddDtm 世代登録年月日時分秒
	 * @throws RequestParameterException
	 */
	private void setInMapOpSvcKeiIspSearch(IRequestParameterReadWrite param, String fixedText, String opSvcKeiNo, String geneAddDtm)
			throws RequestParameterException
	{
		// 機能コード設定(1:オプションサービス契約＜ＩＳＰ＞一意照会)
		setFuncCode(param, fixedText, JPCModelConstant.FUNC_CD_1);

		// ユーザデータ取得
		HashMap inMap = (HashMap)param.getData(fixedText);

		// ＫＥＹ＿オプションサービス契約番号
		inMap.put(EKK0361A010CBSMsg.KEY_OP_SVC_KEI_NO, opSvcKeiNo);
		// ＫＥＹ＿世代登録年月日時分秒
		inMap.put(EKK0361A010CBSMsg.KEY_GENE_ADD_DTM, geneAddDtm);

	}
	//【ANK-2350-00-00】 【ＮＯ．１８２３】POPIDパスワード、WebIDパスワードの再振不正 2016.03.15 FJ)中西 add end

}
